Specify a required Photoshop version

1. Add `Generator.prototype.getPhotoshopVersion`;
2. Specify a required Photoshop version (currently `>=15.1`) in `package.json`;
3. Fail on startup if the current Photoshop version does not satisfy the required version;
4. Also, for fun, fail on startup if we're unable to find the Photoshop executable location instead of just logging an error message asynchronously. 

Note: I'm a little worried that these changes, which block startup until we confirm the version and the executable path, are *sometimes* too slow, despite being (what I think is) correct. Sometimes the test is fast, but other times it takes 10-15 seconds! At some point @jsbache mentioned that property accesses on the `app` object in ExtendScript would block until some expensive part of the graphics system had launched. My guess is that this was already happening with the `getPhotoshopExecutableLocation` call, but we weren't waiting for it to complete before continuing startup. Open to discussion on this!

Addresses #171.
@iwehrman based on what @timothynoel told us, it sounds like there's a reasonable enough guarantee that we'll get a semver-compatible string.

If, in the future, we stop getting semver strings, then we'll get a reasonable error inside `confirmPhotoshopVersion`. It will look something like:

```
TypeError: Invalid Version: 15.0
[stack trace pointing to `confirmPhotoshopVersion]
```

So, that's the long way of saying I think we're okay on this.