[#70952590] Made the modal views & associated functionality modular.

I now have a generic "modal" view that can take one view for content, or
three (header, content, footer) and will handle display of a modal box.
[#70952590] Completed functionality to delete an offer.
[#70952590]
[#70952590] Created an edit offers form and view, and hooking it up.

The edit offers form now displays in a modal box when either the edit
button on an existing offer is clicked, or the "add a new offer" button
is clicked. Both cases successfully save the updates to the server and
update the view accordingly.
[#70952590] Integrated acts_as_taggable_on gem and added tags to offers.

- Rather than a single category, offers now have tags. Includes adding a
  tag control to the form, and beginning to add tags to the offers
  instance views. Still needs a collection for proper handling though.
[#70952590]
[#70952590] Made offers STI and added an endpoint for offer types.

- Offers are now STI, and there are two offer type subclasses, "good"
  and "service". We may add others and / or make things more specific in
  the future, eg "lessons" could be good.
- The /offers/types endpoint now exists and returns a hash of offer
  types supported by the system. The hash is keyed with the class names
  and has human-readable values as value names. Great for populating
  select inputs.
[#70952590] Working on tags support in the frontend code.
[#70952590] Displaying and styling tags on the edit offers page.
[#70952590] Cleanup, and displaying offer tags on the profile page.
[#70952590] Fix so that tags are displayed for each offer, and correctly associated.
[#70952590] Cleanup broken loading icon, not needed right now.
[#70952590] Styling and template tweaks for offer manager & edits.
Merge branch 'feature/70952590-users-can-edit-offers' into develop

Conflicts:
	gems.tags