Issue 37: UI to upload tiles without deploying

Fixes #37:

This PR includes backend and front-end code that makes Tiles deployment safer, and adds another feature: the ability to add tiles to the Data Warehouse without deploying.

It is a stepping stone towards the incoming scheduling feature of tiles deployment.

The UI features include an additional step to deploy tiles: a checkbox needs to be checked before the data is deployed to Firefox users.

Fixes #40:  (This should've been a separate PR... sorry)

Another feature in this PR is the concept of Channels.
This allows for the deployment of Tiles to channels other than Desktop, e.g. Android.
It does seem like the value of the select will be `choice` from documentation:
```
label for value in array
select as label for value in array

label: The result of this expression will be the label for <option> element. The expression will most likely refer to the value variable (e.g. value.propertyName).
select: The result of this expression will be bound to the model of the parent <select> element. If not specified, select expression will default to value.
```