Squashed commit of the following:

commit 0fda9eaecc7393d64745a9bec8cec0284ecca07d
Author: Daniel Trinh <daniel.trinh@rightscale.com>
Date:   Fri Jan 17 18:02:37 2014 -0800

    add comment

commit 5880b998db40c1e42c585f6ff6007d63ae1d4da4
Author: Daniel Trinh <daniel.trinh@rightscale.com>
Date:   Fri Jan 17 18:00:04 2014 -0800

    update the readme

commit 95dd966561f930362f8f1cacc0c74705c78fb76d
Author: Daniel Trinh <daniel.trinh@rightscale.com>
Date:   Fri Jan 17 17:30:17 2014 -0800

    fixed all remaining edgecases, specs are passing 100%

commit dcab3d53b1bfb7dd7b53182cade2527fd5bacca6
Author: Daniel Trinh <me@daniel.trinh>
Date:   Thu Jan 16 23:56:48 2014 -0800

    restructured new formatting code

commit a7b1befb3ad44a89cb09d6ff3b2a99e3de828a11
Author: Daniel Trinh <me@daniel.trinh>
Date:   Thu Jan 16 08:46:15 2014 -0800

    more temp work

commit 2dd42718780f47ab34c02d68302b67f4b9eeb28a
Author: Daniel Trinh <me@daniel.trinh>
Date:   Thu Jan 16 00:10:57 2014 -0800

    first attempt at getting relative PlaceAtColumn working

commit dacd43c923ae0ddd33cc3f9aa0a5dcbbbbe622a8
Author: Daniel Trinh <daniel.trinh@rightscale.com>
Date:   Wed Jan 15 17:53:49 2014 -0800

    fix remaining alignment bugs

commit 575513c69ea565719babd27c0afd734abf066da2
Author: Daniel Trinh <me@daniel.trinh>
Date:   Wed Jan 15 08:51:49 2014 -0800

    more corner case tweaking and temporary work

commit 7f574682d14b7e085079017d248d0d6b1a902294
Author: Daniel Trinh <me@daniel.trinh>
Date:   Tue Jan 14 23:23:58 2014 -0800

    more small bugfixes and temp work

commit c9fd4f3cfb35dd69140471998b4a69c66ca0b835
Author: Daniel Trinh <daniel.trinh@rightscale.com>
Date:   Tue Jan 14 17:34:17 2014 -0800

    more temp work

commit dd0c257dcd9763d4d59f85a7a28b6d04c238a340
Author: Daniel Trinh <daniel.trinh@rightscale.com>
Date:   Tue Jan 14 13:58:52 2014 -0800

    fixed a bug with first parameter not being placed onto a newline

commit 67129baed18f325749b467510a7b7f3d1b7812ff
Author: Daniel Trinh <daniel.trinh@rightscale.com>
Date:   Mon Jan 13 14:08:03 2014 -0800

    more temp work. it is starting to come together

commit 6571b52cb999c4219fb4c04ae13759d3d22b2dff
Author: Daniel Trinh <me@daniel.trinh>
Date:   Mon Jan 13 00:14:48 2014 -0800

    more temp work

commit f43051ba2b900c7373ff0b00ea1d2752b3c5dace
Author: Daniel Trinh <daniel.trinh@rightscale.com>
Date:   Fri Jan 10 17:38:41 2014 -0800

    more temporary work

commit b9a3b1d7b004a1f6659de7695c418b12dfef0d08
Author: Daniel Trinh <me@daniel.trinh>
Date:   Wed Jan 8 23:52:15 2014 -0800

    add a few tweaks to prefix length calculation

commit 93b699028fb342af72b993b9ddc18fb56ec59955
Author: Daniel Trinh <daniel.trinh@rightscale.com>
Date:   Wed Jan 8 17:39:33 2014 -0800

    more temp work

commit 86f84891d68dbedbd73a2fa6b3b0e9d5d4c676cf
Author: Daniel Trinh <daniel.trinh@rightscale.com>
Date:   Tue Jan 7 17:26:43 2014 -0800

    more temporary work

commit 02c465cce8d0dfbc6979165d0ff6a970ca32985a
Author: Daniel Trinh <me@daniel.trinh>
Date:   Tue Jan 7 00:36:58 2014 -0800

    adding very broken WIP code
Merge pull request #1 from daniel-trinh/alignParams_Issue62

Update alignParams to support aligning types and defaults. Dangling parenthesis with 0 parameters is still broken.