Parsing: Allow both harmony and custom esprima versions.

I was thinking about letting users to make their own JSCS build using browserify, but... hard to implement right now.

`--esnext` is more preferable (for me). `jshint` selected `esnext`, plus no mess with `--harmony` flag from `node` executable.

Well, what if we remake constructor?

Was:

```js
// Overload #1
constructor(Boolean verbose, Boolean esnext)
// Overload #2
constructor(Boolean verbose, Esprima esprima)
```

My thoughts:

```js
// Overload #1: backwards compatibility
constructor(Boolean verbose)
// Overload #2: better API
constructor({verbose: Boolean, esnext: Boolean, esprima: Esprima})
// if both `esnext` and `esprima` options are specified, we can throw an error
```

This lets us:
* Include `esprima-harmony` in browser-version
* Deprecate `esnext` flag in the future (and introduce new flags later).
* Have no ambiguous arguments.