Commission canonical semver stuff for use.

This just hooks the stuff up so it's available, not yet using it in the
app in any way.

To use it, for example:

  if (window.semver.lt("2.0.3", favorite_model.get("faveVersion")) {
    // ...do some transformations...
    // ... then set the model's version to the current app version:
    favorite_model.set("faveVersion", spiderOakApp.version);
  }

See node_modules/semver/README.md for API details.
Include semantic versioning comparison machinery, and use it in a basic
way for data migrations.

We use ajax to fetch the version number from the config.xml, and it has
to be asynchronous (CORS restrictions will cause an uncaught exception
from a synchronous ajax request )-: ), so we use a new versionready
event to trigger the generic data migations routine.
Merge pull request #454 from SpiderOak/add-semver-and-apply

Add semver and apply