Refactor tests for Jasminum or Jasmine

Including migrating from Jasmine to Sinon spies.
Migrate expect toNotBe to not.toBe
Use Jasminum PhantomJS to for browser tests

Remove use of function bind
Fix generic map filter

The `add` method needed to pass the key through.
Add failing test for dictionary map change observers
Fix map change dispatch on Dict
Rename maxLength to capacity
Let getDefault to be overridden on the prototype

Of any map-like collection.
Support iteration of null or undefined

Returning a null (empty) iterator.
Eliminate use of closure for Lru Map observer

The new map dispatch code can delegate to a method on the LRU map
prototype instead of a closure.

Already tested by virtue of LRU map spec. Just a change of
implementation.
Fix Object.equals for structurally similar cycles
Fix Object.clone of functions

Allow function objects to be cloned as values.
Fix splice start truncation for observed arrays

Per ECMAScript, the start must be truncated to the array length.

`swap` is not bound by this restriction, which is important for
supporting `set(index, value)` for indicies beyond the length of the
array and being analogous to `array[index] = value`.
Various swap and splice fixes

This change reimplements swap in plain JavaScript so that it can avoid
the problems with splice, including the large array problem previously
solved, preserves holes in the plus array, and extends the array if the
starting position is beyond the length.

Splice truncates the start index to the length. As such, splice is not a
suitable primitive for the set method, since setting the value at an
index should extend the array and leave holes behind. Splice is also not
good at copying array holes.

Fix array set and swap for indexes beyond the initial length.

:warning: Additionally, I have removed the behavior of returning the
array of removed values. This is seldom useful and usually generates
unnecessary garbage.

Fix redundant property change on array indexes

Add failing test for redundant property dispatch on unchanged properties
of an array during swap.

Add test verifying that map changes only dispatch for value change on
update.

Fix problem with observing the last index of an array. Off by one error
in the book keeping logic.

Reconcile observed and unobserved array swap.