Moving the version stuff from common to version.py

In preparation for adding a generated version header.
Adding a SCons function for generating a version header

Uses mustache code-gen

Generated header contains version #, commit hash, and boolean
indicating the presence of local modifications.