Fix for #1723: CPArrayController insert

This fix addresses the following problems:

- fixes a bug with `add:` where it would try to add the sender object, not the represented object
- changes `insert:` to insert a new represented object after the currently selected object. If no object is currently selected it behaves like add: and adds a new object to the end.

This patch includes tests.