Issue 15 + Refactoring

I've made fairly significant changes to the class hierarchy and I'm in doubts whether they are to the better.
Please ignore the status and config part for the time being and let me know if the *Repository changes make sense. Specifically, I tried to extract common subject registration/lookup logic into AbstractSubjectValidatingRepository and succeeded for for InMemory and LocalFileSystem but with Zookeeper I was afraid to significantly alter the flow of the code and finished up using the new base class in a somewhat awkward manner. The tests pass, but I don't feel terribly good - so any comments, whether positive or negative will help :smile: 
I think your change is going in a good direction BTW. We should promote a certain implementation pattern, to ensure the various implementations work the same way. We just need to refine it a bit more.

On a slightly unrelated topic, since this refactoring seems like it is still a work in progress, it might be a good idea to cut the 0.1.2 release now with just the newline fix, if you're waiting on that for the schema-repo-tools to get its first stable release as well.