Make map projection ready-only

For #901.

This also cleans up camera creation in several tests.

@bagnell can you review and also look at the test failures for `ScreenSpaceCameraController`?  I looked into them a bit and for `Scene/ScreenSpaceCameraController does not tilt in the wrong direction`, Line 1210 in Camera.js turns `camera.position` from `(-1, 0, 0)` to `(0, 0, 0)`, which is the problem.
```javascript
var oldTransform = appendTransform(camera, transform);
```