Change Batman.Set API for less `...`

This should also have better performance, since we won't be working with `arguments`. 

@pushrax, so far I've made the constructor take an array instead of _n_ items. How much more do we want to do? For example:

- `add`/`remove` always takes an array? I do like the `add(item)` API though
- if `item` is an array, add its contents, so you could `add(arrayOfItems)`?
- implement `addItems(array)`/`removeItems(array)` operating on multiple?

I'm eyeing this for 0.17, plus plenty of helpful deprecation messages.