Docker::Container no longer mixes in Docker::Model.

Since Docker::Image and Docker::Container no longer share that much
functionality, it makes sense to rip it out.
Docker::Image is no longer a Docker::Model.

We can finally rip that mixin out!
Remove Docker::Model.

Now that nothing mixes this module in, it may be deleted.
`extend self` => `module_function ...`

This seems like a cleaner way to get the same behavior.
Ensure the correct Content-Type is set everywhere.
Migrated the final `new` method call to the new syntax.
Patch version bump (1.4.1)

Although there was quite a bit of code changes since the last version,
the user-facing API didn't change. Therefore, I did a patch version bump
instead of a minor version bump.
Fixed the order of the arguments in #initialize.
start => start!, start? => start; same for stop restart and kill.

Since start? did not return a boolean, it makes more sense to call it
start. Also, since start raised a ServerError on failure, renaming it to
start! made more sense.
Updated the README to reflect the true return type of lifecycle methods.
Minor version bump (1.5.0)

Since the lifecycle methods have been renamed, I think this constitutes
a minor version bump.
Fixed Container#top, cleaned up some specs.