Pre-process Build

Adds RequireJS pragmas to conditionally include code that throws `DeveloperErrors` like:
```javascript
//>>includeStart('tag', condition);
if (/*condition*/) {
    new DeveloperError('something went wrong.');
}
//>>includeEnd('tag');
```
`tag` can be any string describing the block, but the tags in each includeStart/includeEnd must be the same. `condition` can be any javascript that is evaluated at build time. `pragmas.debug` will be `true` for debug builds or `false` for release builds.

Adds two new build targets, `combineRelease` and `minifyRelease`, which are the same as `combine` and `minify` except they defined `pragmas.debug` to be false.

Adds pragma statements like above to every function in `Context`, `Cartesian*`, `Matrix*` and `Quaternion` that will be removed when `pragmas.debug` is `false`.

The performance was improved by ~2-4% for the most frequently called functions. The minified size decreased by ~0.02 MB.