add `registerPartials` function to load all partials from a directory

Instead of calling multiple:

```javascript
hbs.registerPartial('partial1', fs.readFileSync('partial1.hbs', 'utf8'));
hbs.registerPartial('partial2', fs.readFileSync('partial2.hbs', 'utf8'));
```

You can now load all partials from a specific dir:

```javascript
hbs.registerPartials(__dirname + '/views/partials');
```
Implementation is async and supports a second callback argument.

Also:
* Added additional test case to 3.x Mocha tests to cover functionality.
* Bumped version to `2.2.0` on the assumption the project is using SemVer.