Remove mixin

@tlunter 

There were no API changes in this branch, instead I removed the `Docker::Model` mixin because it was making issues difficult to debug. This led to a little code repetition, but it seems to be worth it. Let me know what you think of the changes.

P.S. This branch is probably easier to review commit-by-commit.