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.
Cause insert: to behave like Cocoa

This fix inserts a new object at the current index, rather then the next. This diverges from the Cocoa documentation, but follows the Cocoa behaviour.
Merge pull request #1743 from ahankinson/fix-issue1723

Fix for #1723: CPArrayController insert
Refs #1743. Insert button in ArrayController1 test.

Also clean up test a little by initialising the array controller in the xib and connecting the buttons there. This is more natural.

Also make each object created in the table numbered to make it easier to see which one was just added.