New (backwards compat) CLI for FAKE.
* New CLI for FAKE that uses UnionArgParser.
* If new CLI cannot parse, use old CLI for backwards compat.
* Strongly typed and easy to read and modify.
* Less brittle in face of changes needed for #438 etc.
* Generates documentation.
* Supports combination with app.config settings.
* Support long and short switches (e.g. --version or -v).
* Support multi-values (e.g. --envVar key value --envVar key value).
* Make env flag switches explicit (i.e. --envFlag nameWhoseValWillBeTrue).
* Print old and new help.
Merge remote-tracking branch 'upstream/master' into new-cli

Conflicts:
	src/app/FakeLib/FSIHelper.fs
Fix debug command line arguments (had left some local test ones in previous commit).
* Make script and target positional arguments on the new CLI.
* Update usage documentation strings and usage print function.
* Add basic tests for CLI positional argument parsing.
Merge remote-tracking branch 'upstream/master' into new-cli
Merge remote-tracking branch 'upstream/master' into new-cli
Remove usage of F# 3.1 named DU values as not supported on the Travis CI build server.
Add updateApplicationSetting method

Added an updateApplicationSetting method that will allow you to update the newer applicationSettings in addition to just appSettings.
msbuild /noconlog
Merge pull request #463 from ctaggart/noconlog

msbuild /noconlog
Merge pull request #455 from bentayloruk/new-cli

New (backwards compat) CLI for FAKE that includes FSI cmd args passing
Merge pull request #462 from ssteward54/patch-1

Add updateApplicationSetting method
Bump version to 2.18.0-alpha1
Bump version to 2.18.0-alpha2
clean up to Roundhouse docs and messages
Merge pull request #464 from ChrisMissal/docs-fixes

clean up to Roundhouse docs and messages
Try to use F# 3.1 for Travis build - fixing #459
Revert "Try to use F# 3.1 for Travis build - fixing #459"

This reverts commit 28f094d485ecd0908bd62b88941061b24233bddb.
Fix issue where new CLI treated target=Clean as the positional target name.  Now reject positional argument containing =.  FAKE build.cmd example works and falls back to old CLI as expected.
Merge remote-tracking branch 'upstream/master' into new-cli