Environments

This PR creates the concept of an Application `mode` which can be either `:server` or `:build`. This frees `environment` to be able to represent a targeted set of functionality.

The default environment is `:development`. This can be overridden on the CLI with:

```
middleman build -e production
middleman server -e production
```

`config.rb` is loaded as usual and applies to all environments. As before, per-environment config can be set in `config.rb` using:

```
configure :production do
  activate :minify_css
end
```

However, now Middleman optionally loads a corresponding config file at: `environments/production.rb`.

Also included in this PR is a slight tweak to auto-activating extensions to let them only activate in specific modes. For example, we don't replace exceptions with an HTML error page in build.
What's the idea behind `:all` as an activation mode and of modes being a list? When would you want to auton activate an extension multiple times?