Define Handlebars as a peer dependency

This change defines `handlebars` as a [peer dependency](http://blog.nodejs.org/2013/02/07/peer-dependencies/). What this basically means is that users can define whatever version of `handlebars` they want to use in their `package.json` as a dependency and `express-handlebars` will automatically use that version. If they do not specify `handlebars` as a dependency then the latest version matching the version in our `package.json` will be installed automatically.

The really great thing about this is that users can do their own stuff with `handlebars` in addition to using this module and `handlebars` is only ever loaded once *without* having to use `npm dedupe`. Other modules which define a peer dependency on `handlebars` can also be installed and they will load the same `handlebars` code that we do.

I have also defined `handlebars` as a dev dependency so that going into the future any unit tests from #23 will work.

Current directory structure after running `npm i express-handlebars` in an empty directory:

```
.
└── node_modules
    └── express-handlebars
        └── node_modules
            └── handlebars
```

And after my changes running `npm i git://github.com/KenPowers/express-handlebars.git` in an empty directory:

```
.
└── node_modules
    ├── express-handlebars
    └── handlebars
```

This will restrict people from only using Handlebars 2.x (which isn't currently the latest stable release). I forget what exact version of Handlebars this supports, but it's at least as far back as the stable version when this package was originally created.