Style-specific layer order/instances

https://github.com/mapbox/tm2/issues/133

Adds handling of an optional `layers` property in `project.yml`.

Styles can now reorder and create multiple instances of layers. Suppose a source has the layers

    a
    b
    c

A style can define its own order and instances of the layers with the following property:

    layers:
    - b
    - a.data
    - c
    - a.label

Where `a.label` refers to `<id>.<class>` in carto. Note that while it's possible to do something like

    layers:
    - a
    - a.label

where one of the layer instances is classed and the other is not, in practice it is very hard to use.

No UI for this yet, will meditate on what makes sense here (reordering is straightforward, reinstancing ... not as much).

cc @ajashton @springmeyer