has_many javascript refactor

First and foremost, this commit moves the JS `onclick` calls out into
their own dedicated file. This also adds before & after hooks so you
can more easily update dynamic parts of the form, for example if you're
using a plugin like Chosen for interactive dropdowns:

```coffee
$ ->
  $(document).on 'has_many_add:after', '.has_many', (e, fieldset)->
    fieldset.find('select').chosen()
```

There's one other change here: I switched around the text used for
has_many deletion because it didn't make sense to me that delete was
applied to something that hadn't yet been saved, while remove was used
for already-saved records.