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
API changes! This must match the versions of ding_availability, ding_periodical.

- Let ding_availability decide what character to put between the holding parts. So return an array of holding parts instead of a string.
- Provide holdings info for periodicals
API change: However, it is backwards compatible, so it works with older versions of ding_availability.

Support the new $only_available option for holdings.
Take nonreservable_collections into account when calculating reservable_count.

Calculate reservable_count in the almaclient instead of alma.availability.
Gathering the logic for this one place.