Refactor the code to avoid duplication.
Fix reservation buttons on periodicals

Gathering the logic in the client to make it easier to read.

Erased the branches availability info, it wasn't used, and I'm going to do it differently soon.
Make it configurable which holding parts should be displayed
Support configuring specific collections to be nonreservable
Merge remote-tracking branch 'oc/refactor' into merge