Include calculated version in all builds.

Keep the next tagged version number with either `+pre` (for stable/beta
branch) or `+canary` (for master) in the repo under `/VERSION`.

Add VersionCalculator that will compute the correct version number based
on the `/VERSION` file contents. If a `+` is present it will append the
abbreviated revision for the latest commit to the `/VERSION` file contents,
otherwise it will return the contents of the `/VERSION` file unaltered.

The `/VERSION` file will always contain the next release target for each
branch. The process for a new release becomes:

* Update the VERSION file to remove the +<SUFFIX>.
* Run `rake ember:release:prepare`.
  * Generates the CHANGELOG based on commits since last tag.
  * Bumps the version in `packages/**/package.json` & `ember.json`.
* Manually edit/review the CHANGELOG and confirm.
* Run `rake ember:release:deploy`.
  * Commits changes to VERSION, CHANGELOG, and package files.
  * Creates a git tag for the current VERSION file contents.
  * Push the commit & tag.
* Update the VERSION file to the next scheduled release for that branch.
* Run `rake ember:release:after_deploy_version_bump`
  * Updates `/packages/**/package.json` and `ember.json`.
  * Commits updated version & package files.
  * Pushes new commit.

Examples of version calculation:

```
VERSION Contents    | SHA     | Resulting Version Value
--------------------+---------+-------------------------
1.1.0-beta.4+pre    | dsfaf12 | 1.1.0-beta.4+pre.dsfaf12
1.2.0-beta.1+canary | lkmasdf | 1.2.0-beta.1+canary.lkmasdf
1.1.0               | amnj123 | 1.1.0
1.2.0-beta.1        | iyqwe89 | 1.2.0-beta.1
```