Add ability for users to create books

@cgruppioni @chukdisc
Yeah, I split it up for readability.