Support js-yaml options

* I updated all the test to work fine.
* I updated the main script to support [js-yaml options](https://github.com/nodeca/js-yaml#safeload-string---options-).
* I updated all the dependencies.
* I removed unnecessary bower.json.
* I updated .jshintrc.
  * Now JSHint supports `mocha` option so we don't have to pre-define global variables of Mocha explicitly. 

Before merging this PR, please enable [Travis CI build](https://travis-ci.org/jonschlinkert/read-yaml/builds).
Why I checked the type here is that I want to support the case when a user passes the encoding string directly to the second argument like `fs.readFile`.

```js
readYamlSync('fixture.yml', 'base64');
```

I know it's the very, very edge case. Almost all the YAML file is encoded in UTF-8.
It's OK to drop encoding string support.

Even if we drop it, we can do the same thing as below:

```js
readYamlSync('fixture.yml', {encoding: 'base64'});
```