Gh pages publishing

This  commit implements a simple publishing workflow to a github gh-pages branch. 

To have this working you need to setup your ```harmonic.json``` to have a field called ```deployment_type``` with value ```gh-pages```. This was done so that in the future we can have different deployment types (rsync, sftp, etc).

I have altered ```core.init()``` so that a new ```parser.createCNAMEFile()``` is called. This new function checks if the deployment type is gh-pages and if so it creates a CNAME file in the public folder with the domain specified in ```harmonic.json```.

I have created a new command in ```program.js``` to publish to github pages. It can be called like:

```harmonic publish```

This command calls ```util.publish()``` which is a new function to publish your site. In the current version, it checks to see if your deployment type is gh-pages and if so it executes:

```git subtree push --prefix public origin gh-pages```

The command above pushes the content of the ```public``` folder to the ```gh-pages``` branch in the root level. This way you won't need to use something like http://mydomain.com/public/index.html.

I have altered the harmonic.json in the skeleton folder to contain the deployment_type key and the ```templateObj``` in ```util.config()``` to have that key as well. This way we don't get undefined errors.