Awkard support for precompiled headers.

Not sure if this is a good idea yet.
Use short ID for Boost Build exe name.
Initial stab at CMake support.
Attempt to add lpeg to Macaroni.

* This is part of adding support for MoonScript.
* This commit also contains more CMake stuff because who are YOU to
  tell me what to do?!
Adding lpeg project into Dependencies.
Updated CMake generator.

This is looking pretty good now! I'm able to generate libraries and
use them from other projects. Spiffy.

This commits also gets rid of annoying output from BoostBuild plugin.
Added experimental support for MoonScript.

The experience isn't seemless at all yet- the error messages are
currently truncated and atrocious- but this is decent progress all
things considered.

* Command line accepts "--moonScriptPath" argument which points to
  special location of Moon Script files, plus an extra glue script
  I wrote trying to make the error messages look cleaner from
  Macaroni. In the future I'll just distribute MoonScript with the
  next to the Generators directory I guess.
* The ClassicPlugin class can load MoonScript files, meaning a
  Generator can be entirely in MoonScript. However, if anything goes
  wrong the full text of the error message is currently getting
  truncated so it isn't yet usable. >:(
* Added lpeg and luafilesystem to Macaroni's binary since Moon Script
  requires them.
* Changed the Lua Dependency to modify luaconf.h to make LUA_IDSIZE
  greater than 60 so the source locations would quit getting truncated
  in error messages.
Improvements to CMake, Vs2013, Boost 1.55.

The CMake plugin now works fairly well for a somewhat
complex project.

* CMake plugin now has a "build" command to use the native
  build tool.
* Includes ability to add pre-build step for VS2013.
* SimpleProject can optionally use CMake.
Multiple fixes and advances.


Introduced "generateLess".

This allows only certain elements to be generated, such as C++ code,
while omitting other elements such as project files used for IDEs.


Limited profiling support.

Introduced a way to measure Macaroni's execution time. Using Window's
high-resolution timers, the time since the program began is printed out to
the console. The total running time of the program is given when the
program finishes.


Resurrected the InterfaceMh plugin.

This plugin creates a simple bit of Macaroni source code that omits all
important information about a class except the .h file that gets
generated for it. Reading these is thus quicker than re-parsing the
source.


"loadingAsDependency" feature

A new global variable was introduced to the project system which allows
the Lua scripts governing how a project is parsed to know if the
project is being loaded as a dependency or not. If it is, it is possible
to read the Interface file by itself rather than iterate all of the
Macaroni code again, and exe and test targets are ignored. This has to
be supported by the project though. Currently works in the SimpleProject
script.
This feature took the start up time of a project that utilized three
dependent projects (as in the time before the generation phase) down
from  1922ms to 473ms.


Fixed a nullptr bug in the Scope class.


Added some library files for Boost v.1.55 dependencies.
Fixes for Linux.

Took out the experimental MoonScript stuff.
Got the Timer working in Linux using C++11 stuff, which
should maybe replace the Windows code too.
Changed tests to use Boost 1.55.