Rewrite to be Promises based

This is a complete rewrite of this project to use Promises for async operations. Using Promises _greatly_ reduces the complexity of this project.

Dependencies have also been bumped.
Use single file system cache object

No need to maintain two file system caches since the key is path-based, therefore files and dirs will _not_ collide.
Switch to CDN Rawgit URL in example
Add package.json for Basic example

This removes express as a dev dep.
Add package.json for Advanced example
Update signature to render(file, context, options)

This better mimics the underlying Handlebars rendering API by separating the `context` from the rendering `options`.
Switch to graceful-fs to support large #s of files

If there are a ton of partials that need to be loaded from disk, this could throw an `EMFILE` error; switching to `graceful-fs` can recover from those errors.
Rearrange Promise then/catch calls
Update semver dependency
Update Express in examples
Minor code formatting tweaks
Each partials dir can be namespaced
Tweak impl of namespaced partials support
Merge branch 'namespaced-partials' into promises
Update HISTORY for v0.5.1
Bump version to v0.5.1
Fix issue with replacing "/"s with "." for older Handlebars
Alphabetize method names
Update README with Promises info
Merge branch 'promises'

Conflicts:
	package.json