Add remix functionality to maps

* Added notification view for remixed maps
* Update map model and api
* Add remix_from_id to maps table
* Add 'remixed from' link to map sidebar view

Use built in mass-assignment protection for sequel models

Add map remix backend

Remove activesupport

Not using Hash#slice

Hookup remix button.

Refactor #remix

Track which map a remix came from

Don't allow remixed_from_id to be mass-assigned

Move remix logic to router.

Use Remix, Remix 2, Remix 3 naming strategy.

Remove renaming from front-end.

Track the remix count and nth remix values for a map

* remix_count - integer representing the number of times a given map
  has been remixed. Equivalent to the result of the following query:
  `SELECT count(*) AS "count" FROM "maps" WHERE ("remixed_from_id" = 1) LIMIT 1`
* nth_remix - integer representing the order in which a remix occured.
  The first remix of map A will have an nth_remix value of 1, the
  second remix of map A will have an nth_remix value of 2, and so on

Name map based on nth_remix count

Replace remix number with link to parent remix.

Back out remix_count and nth_remix

Will reintroduce in the tree branch