Add library app (fix #7 #10)

Ref: #7 #10

This only adds the basic logic of the app. More to come in other PRs :)
You might want to add a comment above to explain why you're using `null=True` on a `CharField` though, for future reference ;)