Include calculated version in all builds.

**tldr;** Keep the next tagged version number with either `+pre` (for stable/beta branch) or `+canary` (for master) in the repo under `/VERSION`. Use `VERSION_STRING_PLACEHOLDER` in the actual repo in place of a version number, and use a filter to add the current value.

------------------

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:

* Run `rake ember:release:prepare`.
  * Generates the CHANGELOG based on commits since last tag.
  * Removes the `+<SUFFIX>` from the `/VERSION` file.
  * 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
```