Add colors to CLI (close #104)

Implemented colors and filenames, line number display in progress,
pretty and summary formatters along with support for environment
variable CUCUMBER_COLORS.

Squashed commit of the following:

commit 44c67571c5c7f60e9ff76a1e60f8400580b241db
Merge: 0411c18 53c3501
Author: Julien Biezemans <jb@jbpros.com>
Date:   Wed Nov 27 15:49:39 2013 +0100

    Merge branch 'master' into colors

    Conflicts:
    	lib/cucumber/cli.js
    	lib/cucumber/cli/argument_parser.js
    	lib/cucumber/cli/configuration.js
    	lib/cucumber/listener/progress_formatter.js
    	lib/cucumber/listener/summary_formatter.js
    	lib/cucumber/support_code.js
    	lib/cucumber/support_code/step_definition_snippet_builder_syntax.js
    	package.json
    	spec/cucumber/cli/configuration_spec.js
    	spec/cucumber/support_code/step_definition_snippet_builder_syntax_spec.js

commit 0411c1805405db08952615b7919cb1e105f10352
Author: Julien Biezemans <jb@jbpros.com>
Date:   Tue Dec 25 23:28:48 2012 +0100

    Fix indentation

commit 0a62aeab5c470918055ace14ffeaa3bbb9e3dff2
Author: Julien Biezemans <jb@jbpros.com>
Date:   Tue Dec 25 23:14:39 2012 +0100

    Rename "coffee" internal formatter option to "coffeeScriptSnippets"

commit df69e13ddc921bd1e58f710b40481e5aaee9c4d3
Author: Julien Biezemans <jb@jbpros.com>
Date:   Tue Dec 25 23:12:19 2012 +0100

    Organize methods

commit fc662ed686f946c2daed4dfdba7cb56a89bc3e0c
Author: Julien Biezemans <jb@jbpros.com>
Date:   Tue Dec 25 23:11:39 2012 +0100

    Add missing specs to CLI configuration

commit 5ff71bb72d3962ff270970c0c9aa98bff9e15374
Author: Julien Biezemans <jb@jbpros.com>
Date:   Tue Dec 25 22:17:01 2012 +0100

    Add argument parser specs for --coffee option

commit 38f5600c7c8a052d45f0cadee6e2e0b1761ad2df
Author: Julien Biezemans <jb@jbpros.com>
Date:   Tue Dec 25 22:07:47 2012 +0100

    Remove useless newline

commit 9035433ef716fbdee5c91a0ffc856d4ae78c7470
Author: Julien Biezemans <jb@jbpros.com>
Date:   Tue Dec 25 22:06:51 2012 +0100

    Rename "feature tags" to "inherited tags"

commit 817c34c6b0cea7d82511dae06d95566845f770dd
Author: Julien Biezemans <jb@jbpros.com>
Date:   Tue Dec 25 21:53:06 2012 +0100

    Remove useless stub

commit 8a0ecab2df1afb2f0b4e1da603fa012182a9f28f
Author: Johny Jose <johny.aiesec@gmail.com>
Date:   Thu Dec 13 00:18:00 2012 +0530

    removed debug code

commit c46cffb4698e5a0568710efce9e24b77aedc784a
Author: Johny Jose <johny.aiesec@gmail.com>
Date:   Wed Dec 12 23:03:45 2012 +0530

    Implemented stricter color formatting to prevent bugs with newline character. Added tags to pretty formatter output.

commit 260b595b0d05a22302ad5442cdb4153ea73bca4f
Author: Johny Jose <johny.aiesec@gmail.com>
Date:   Wed Dec 12 04:10:21 2012 +0530

    Fixed bug with pretty formatter output in scenario without a background

commit 9403fa5cad9e798b4dc6deb58a54c055fafaac96
Author: Johny Jose <johny.aiesec@gmail.com>
Date:   Tue Dec 11 21:19:05 2012 +0530

    Fixed wrongly indented output for datatables when using colors.

commit e603982394bb72fd76ffd8925a2e35df34040274
Author: Johny Jose <johny.aiesec@gmail.com>
Date:   Tue Dec 11 14:52:35 2012 +0530

    Added proper filename and line indentation for background steps

commit 335b2da0197a6f2263528186421b5a54358542df
Author: Johny Jose <johny.aiesec@gmail.com>
Date:   Tue Dec 11 12:12:45 2012 +0530

    Added coffeescript snippet support to the pretty formatter

commit ea2c3aaaff2c555588a74c69075352ca7c143d4c
Merge: f2c63c2 c09d4c6
Author: Johny Jose <johny.aiesec@gmail.com>
Date:   Mon Dec 10 15:04:32 2012 +0530

    Merge branch 'johngeorgewright'

commit f2c63c26b8deb5fdccc59d81fb2e601a85cbbe08
Author: Johny Jose <johny.aiesec@gmail.com>
Date:   Mon Dec 10 07:03:23 2012 +0530

    Updated step definitions for colored output.

commit e61e995b57c82115e331a8dbfed0c0cb1d266cb8
Author: Johny Jose <johny.aiesec@gmail.com>
Date:   Mon Dec 10 06:28:09 2012 +0530

    Implemented colors and filenames, line number display in progress, pretty and summary formatters along with support for environment variable CUCUMBER_COLORS.

commit c09d4c6a83b19b8b29bcc7477de1f15af3989c65
Author: John Wright <johngeorge.wright@gmail.com>
Date:   Thu Sep 13 22:29:04 2012 +1000

    Added a spec file for the syntax classes.

commit bdbf7a6216787925fcd39352f4a3f01e6f5e26d2
Author: John Wright <johngeorge.wright@gmail.com>
Date:   Thu Sep 13 22:24:57 2012 +1000

    Updated StepDefinitionSnippetBuilder spec file.

commit db0b8c32ef35585447e0509cb298e918fa9b097d
Author: John Wright <johngeorge.wright@gmail.com>
Date:   Wed Sep 12 08:47:30 2012 +1000

    Updated tests for summary formatter.

commit aead79dc0dd89239c16ace7c8abe38620ef515ab
Author: John Wright <johngeorge.wright@gmail.com>
Date:   Wed Sep 12 08:46:55 2012 +1000

    The syntax construction now is created by a separate method. This makes things easier to test.

commit 705aca46be71445d85d066a7c2d0ca72ddc16a6f
Author: John Wright <johngeorge.wright@gmail.com>
Date:   Tue Sep 11 20:31:38 2012 +1000

    #65 Getting Jamsine to pass.

commit b8b4780820f3cab06809d65ce39ce75057afbf8e
Author: John Wright <johngeorge.wright@gmail.com>
Date:   Tue Sep 11 20:11:33 2012 +1000

    #65 Forgot about replacing the definition matching group parameters.

commit 878e8b8d1ec8c8ffe1d800c2aa95c42309cf9cb1
Author: John Wright <johngeorge.wright@gmail.com>
Date:   Tue Sep 11 17:02:31 2012 +1000

    #65 The --coffee option will now switch the step definition builder between syntaxs.

commit d6ca30df1f47ae1db2ed989ce44d4096d01f9f41
Author: John Wright <johngeorge.wright@gmail.com>
Date:   Tue Sep 11 17:01:26 2012 +1000

    #65 The step defintions snippets builder now uses a syntax behaviour rather then static properties. The CoffeeScript flavour has also been added here.