Renaming models and creating a Request hierarchy

 * According to https://progress.opensuse.org/issues/2496
 * Now we have two abstract classes: Request and ReimbursableRequest
 * Request becomes TravelSponsorship < ReimbursableRequest
 * Shipment becomes Shipment < Request
 * RequestExpense and Reimbursement are now attached to ReimbursableRequest
   instead of Request
Add /requests GET routes for backwards compatibility
Implemented notify_to macro for more flexible reminders

 * Config option days_for_reminder is not used anymore.
 * Recipients and reminders are now set individually by state in the
   class definition of every state machine.
Transitions permissions moved to has_state

 * New macro allow_transition added
 * Methods like allow_xxx? can be defined for greater flexibility
 * Streamlined Ability
New HasComments concern

 * Allows to define comments access rules in the corresponding models instead of
   in the Comment one.
 * Simplified and generic rules for comments in Ability