See description

- Fix FS#50 - Project build completion is sometimes not detected
- Fix FS#53 - Makefiles are parsed more than once
- Fix FS#54 - Project groups do not scope settings
- Alternative implementation of FS#52 - Dual syntax for target,
architecture, and toolchain:
   - Now @csbuild.target() appends to a list of functions to be run,
rather than replacing a pre-existing function. This solves the direct
need for targets to have global settings.
- Fix FS#55 - Added options are not usable
- Implemented FS#48 - Configurable location for .csbuild directory:
   - .csbuild directory is now inside the object directory, implicitly
making it configurable.
- Added csbuild.Done() and csbuild.Exit() to early-out of the build
- Added return type of csbuild.ARG_NOT_SET from csbuild.get_option()
which will be returned when executing with --help
See description

- Added documentation using epydoc standard
- Generated documentation files
- Some early work at style changes (changed spaces to tabs, reformatted
some other areas)
Implement FS#24 - Pre- and Post-Compile steps
Implement FS#42 - Make chunks display the list of files in the chunk when compiling
Fixed a python3 issue when generating projects, fixed a bug with precompiled headers
Implemented FS#45 - Stop on first error functionality
Implement FS#56 - Expose list of targets specified by the user
See description

- Implement FS#47 - Integrate --all-targets option into qtcreator
solutions
- Implement FS#4 - QtCreator hack for multiple output names
- QtCreator file lists are now built from relative paths instead of
absolute paths
- Added a new --solution-args setting to dictate arguments to be
included in the build run by the solution
First pass at CSBuild GUI option

Also fixes a few small bugs from other checkins within this push.
Update version