Merge changes into 0.4 branch.

Changesets:
 * 67f56a9b2701
 * e93dc7881ac2
 * 39cee2729741
 * e3ae6cbe1a1d
 * e60e7e4639b4
 * d9ef36b4546b
 * 4c582ed164a4
 * 51f21db0e6e1
 * 3da138c08f0b
 * 2972e6711adc
 * 1702fb32d80a
 * 3ed63a403236
 * a20f977e123d
 * f567f4aeef62
 * 09f1e3e3c19a
 * d141b8e84772
 * 5a56c5392288
 * 1690e3a42d1c
 * 82b11d582d4e
 * e7d95ae95836
 * 3b7d2b31079d
 * b42a0f893345
 * a3e7c9bc7fb6