Commit 43 (Beta candidate)

BREAKING CHANGES
1 $.observable(...).insert(...)
  Validation of parameters: now supports string values for index
  (does parseInt(index) internally) and requires index > - 1 and
  index <= array.length
  – otherwise noop.

  Supports alternative syntax for appending:
  $.observable(...).insert(itemToAppend)

1 $.observable(...).remove(...)
  Validation of parameters: now supports string values for index and
  numToRemove  (does parseInt(index) internally) and requires
  index > - 1, index < array.length and  and numToRemove > -1
  – otherwise noop.

  Supports alternative syntax for removing last item:
  $.observable(...).remove()

1 $.observable(...).move(...)
  Validation of parameters: now supports string values for index,
  newIndex and numToMove (does parseInt(index) internally) and requires
  index > - 1, index < array.length, newIndex > - 1,
  newIndex < array.length and  and numToMove > -1
  – otherwise noop.

OTHER CHANGES
- New feature - support for merge converter with toggle - See:
  www.jsviews.com/#samples/data-link/toggle

- Many new unit tests added for JsObservable insert, remove and move methods.
- Bug fix to ensure onAfterChange fires exactly once if and only if
  value has changed.

- Small bug fix deferred annotations during data-linking