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.
Merge pull request #272 from unfiltered/core_to_the_max

Isolate core interfaces in a `core` module.