Dynamic defaults

Here is the first idea I threw out there on twitter.  Examples are in the README.  Briefly, the enhancement allows the template developer to utilize previously-defined properties/fields in the `default.properties` file just like one can in the template files.  This allows us to build up nice defaults for the user.  A cool side-effect of this enhancement is now the user is prompted for the values in the order they appear in the `defaults.properties`, rather than randomized from hashing.

My changes should not affect any existing g8 templates.  I selected four interesting-looking projects to verify that the templates still rendered the same (xuwei-k/play.g8, eltimn/lift-mongo, scalatra/scalatra-sbt, dkrieg/scalatra-angularjs-seed.g8).  Everything checked out.  If I continue to be bored in my spare time, I might even write a script that checks all of the wiki projects in this manner. :)  Let me know if there is already anything to this effect.  

Let me know if there is anything else I should do with this branch to make it suitable for merging.