DRY up mapping, add tests and coffeelint

This is a pretty good reduction of duplication. I added the specs to avoid breaking the mappings prior to making changes.

The coffeelint file explicitly ignores long lines and standalone @ usage.

Use `apm test` to run the tests.