Updates and Tests

Here are some things I would change about this before publishing:

- Add example usage to README
- Add jshintrc for semicolon and white space checks
- Clean up some of the white space issues and semicolons
- Update to passport-local 1.0.0; remove BadRequestError references
- Separate out the `attachToUser` function
- Refactor default values assignment to lodash defaults method
- Export default values for others to inspect (or for unit tests)
- Add new `defineUser` method that creates the UserSchema and calls attach
- Refactor `register` to take a string as first arg or object (for custom fields)
- Add some very basic unit tests around `register` and `authenticate`
- Add test script to package.json for idiomatic `npm test` support.

I realize some of this is more like personal preferences, but it's just part of my process to get jshint setup for a project.

The exported interface has changed from just the function to having a couple different things you can do so I've went ahead and bumped up the version to 1.0.0 in case other people are referencing an old version.