Squashed commit of the following:

commit 7576d2a1211b866593b2ec4dc8ef9b9b77effc49
Author: Andrew Lau <andrew@andrewklau.com>
Date:   Wed Aug 27 19:03:36 2014 +1000

    Initial version

commit 7e52f8005260d197bc529b49f52c23c10a2e4b09
Author: Andrew Lau <andrew@andrewklau.com>
Date:   Wed Aug 27 18:59:58 2014 +1000

    Initial version

commit 0814d2b8987ba7e15e7e1c25fbb389edaf6c5893
Author: Andrew Lau <andrew@andrewklau.com>
Date:   Wed Aug 27 18:54:42 2014 +1000

    Initial version

commit 55e741db39deb20d7e50a48bce83ec02ebef1839
Author: Andrew Lau <andrew@andrewklau.com>
Date:   Wed Aug 27 18:52:27 2014 +1000

    Initial version

commit 043bbb5ca0b0d0909712762352a0958ff443235c
Author: Andrew Lau <andrew@andrewklau.com>
Date:   Wed Aug 27 18:08:45 2014 +1000

    Initial version

commit 53dfe3af7cab47393f2abb2db154d5d65f67d1d0
Author: Andrew Lau <andrew@andrewklau.com>
Date:   Wed Aug 27 18:07:32 2014 +1000

    Initial version

commit 62440c76a750902b486ee12f444297125cd66949
Author: Andrew Lau <andrew@andrewklau.com>
Date:   Wed Aug 27 17:57:37 2014 +1000

    Initial version

commit 27a87019ea4aca2e34a444e88d5b871efbf3f3e2
Author: Andrew Lau <andrew@andrewklau.com>
Date:   Wed Aug 27 17:55:22 2014 +1000

    Initial version

commit b953e2fbe90b7245d7f91590f30c700fe0a916df
Author: Andrew Lau <andrew@andrewklau.com>
Date:   Wed Aug 27 11:33:49 2014 +1000

    Initial version

commit 4fd76836c7c39c8fe2be77785759274e6eb8ceae
Author: Andrew Lau <andrew@andrewklau.com>
Date:   Wed Aug 27 11:29:46 2014 +1000

    Initial version

commit 1a290fae2d234f8129d9b14418280575bd51e69b
Author: Andrew Lau <andrew@andrewklau.com>
Date:   Wed Aug 27 11:27:26 2014 +1000

    Initial version

commit 866ca3dbbdadac9241d8abdd1eb2f35a886e106b
Author: Andrew Lau <andrew@andrewklau.com>
Date:   Wed Aug 27 11:16:33 2014 +1000

    Initial version

commit 13082d509b863dd57929bb324ce7e066cb02c957
Author: Andrew Lau <andrew@andrewklau.com>
Date:   Wed Aug 27 11:12:37 2014 +1000

    Initial version

commit c509fc2c6f0b60d17fac68bf858b9eb7d93ffefb
Author: Andrew Lau <andrew@andrewklau.com>
Date:   Wed Aug 27 11:11:24 2014 +1000

    Initial version

commit 591efe6038b614d9483d021b1d3331ca873bf700
Author: Andrew Lau <andrew@andrewklau.com>
Date:   Wed Aug 27 11:06:27 2014 +1000

    Initial version

commit 36bf01e4d6c08ce47507f937fe27159a979c62a1
Author: Andrew Lau <andrew@andrewklau.com>
Date:   Wed Aug 27 11:05:01 2014 +1000

    Initial version

commit 19f1452ced417f494312c0601c38c76db7419053
Author: Andrew Lau <andrew@andrewklau.com>
Date:   Wed Aug 27 11:01:04 2014 +1000

    Initial version