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.
I wonder if this is guaranteed to always return a semver-compliant  string. `semver.satisfies` barfs if it is given a version string that looks like "15.1" instead of "15.1.0".

@timothynoel might be able to weigh in here -- I'll send him an email.