Fix remove contact from office bug

Tracker: https://www.pivotaltracker.com/story/show/68734184

This must have been broken for a while. The problem was that we were mutating the thing returned by strong params, which does not change the original params. I've actually fixed this twice, first time using the existing JS and param massaging, then a second time refactoring the form to use some existing reusable code precisely for managing nested attributes without additional controller code.