Isolate core interfaces in a `core` module.

Unfiltered's binding modules (`filter`, `netty`...)  do not and
generally should not use the request/response building functionality
of the `library` module (artifact id is "unfiltered"). We can
formalize this distinction by pulling the interfaces they do use into
a new `core` module.

This is a dependency-breaking change for anyone relying on the
transitive dependency of binding modules on `library`. It's simple to
fix by adding a dependency on the artifact id `unfiltered`, but we
should be loud about this at release time to minimize suffering.
Shift `netty` module to depend on `core`.

This required moving a good number of header definitions to
`core`. I'm considering these to be "core headers" but the distinction
is pretty arbitrary (stuff we used to make the netty binding + other
stuff that was intertwined).
Shift `uploads` to depend on `core`, since it can.
Remove reference to deprecated `defaultSettings` in build.
Merge pull request #272 from unfiltered/core_to_the_max

Isolate core interfaces in a `core` module.
Use `Defaults.coreDefaultSettings` instead of removing default settings.
Expose FilterDirective type so that filter may be applied as expected.
Add `filter` alias to `FilterDirective`.
Merge pull request #276 from unfiltered/filter_directive_fixes

Filter directive fixes
Adapt `oauth` module from QParams to Directives.
Factor out the input (header + params) processing.
Merge branch '0.8.3' of github.com:unfiltered/unfiltered into deprecate_qparams

Conflicts:
	project/build.scala
Merge pull request #273 from unfiltered/default_settings_warning

Remove reference to deprecated `defaultSettings` in build.
Merge branch '0.8.3' of github.com:unfiltered/unfiltered into deprecate_qparams