Adds newProject wizard thing!

* Changed 'throw()' to BOOST_NOEXCEPT. This was why the exception
  messages weren't appearing correctly at runtime.
* Add "--newProject" creator as I was tired of creating new projects
  by hand.
* Added some shims for the ToAny functions that turn smart pointers
  into Any objects that can be used from Lua land.
* Fixed a bug in the generation of friend functions for a class which
  arises due to an ambiguity in C++ grammar (at least I think).
* Minor fix for Boost Program Options library.