PurchasesManager code organisation
Made StoreKit products request asynchronous

This will prevent UI from freezing while waiting for the products request to return.
Implemented UI for "purchased" free subscription

The "Subscribe" button will be disabled and its text will be "Subscribed" if the user has already purchased a free subscription.
Refactored BakerBookStatus

The BakerBookStatus class now inherits by a more generic JSONStatus class.
Better initialiser for BakerBookStatus
Added helper class ShelfStatus
fixup! 055de3c4e47dee2db01743fa7827706cb3b2b667
fixup! 5a6ef9b49297d61be48689a13ef6319bc6336956