Add full extname support to the "view engine" setting; e.g., ".jade".

This allows View to support a `defaultEngine` (a.k.a. an app's
"view engine" setting) which contains a ".", for example:

```
app.engine('.jade', jadeEngine);
app.set('view engine', '.jade');
```

This brings View's handling of template filename extensions to parity
with `app.engine()`.

This allows an app's "view engine" setting to be a full extension name,
including the ".".
implemented res.location
refactor vhost example
use app.get() for x-powered-by setting

see: http://stackoverflow.com/questions/14285050/broke-up-express-app-into-submodules-now-my-custom-x-powered-by-does-not-wor
change prev commit to use app.enabled()
Add subdomain offset setting

Add a setting "subdomain offset" for the app, which can be used to
change the behavior of req.subdomains. This is useful when our "base"
domain contains more than two parts, e.g. example.co.uk, and also
when we are running locally with domains like xxx.local.

The default behavior is still to return all but the last two parts.
Allow setting an array of header values in the response

Make setting multiple header values using an array work as expected.
If the header value is an array, coerce the values to strings instead
of the entire array.

Fixes #1419.
Merge pull request #1475 from gmethvin/subdomain_offset

Add subdomain offset setting
move "subdomain offset" defaulting to config
change req.subdomain styling back
add node 0.8.x to travis.yml
Merge pull request #1466 from ericf/settings-view-engine

Add full extname support to the "view engine" setting; e.g., ".jade".
merge
Merge branch 'integrate'
Merge pull request #1477 from gmethvin/set_array

Allow setting an array of header values in the response
refactor res.set() array support
Add test for "view engine" setting with leading ".".
Merge pull request #1478 from ericf/settings-view-engine-test

Add test for "view engine" setting with leading ".".
Release 3.1.0