Add arbitrary configuration settings to liftoffrc

This allows the user to set arbitrary build configurations on a per-build
configuration basis. This is handled by the new `extra_config` key in
`liftoffrc`.

Fixes #142 #170 #160
`extra_config` is more complicated than that. For example, this might be the hash:

```
extra_config:
  - debug:
    - WARNING_CFLAGS:
      - -Weverything
  - all:
    - BUNDLE_LOADER:
        - Foo/Bar/Baz
```

This would set `-Weverything` for `OTHER_WARNINGS` in the `Debug` build configuration, but would set the `BUNDLE_LOADER` to `Foo/Bar/Baz` for all build configurations.