Impelmented negative indexing to count from the end of the sequence for IndexSequence, ArraySequence and Vector. Updated tests and type definitions to reflect this change
build
Ensure Sequence#join() behavior matches Array#join(). This is a modified version of pull #118 and solves the issue #106.
Add steps to CONTIBUTING.md

These were the stumbling blocks that were a bit annoying to get going
with, having never used grunt before. I was also ensure as to whether or
not I needed to commit the built JS/interface; inspection of previous
commits indicated that was expected.

I'd understand if this may be superfluous, but if not, merge away!
CR: fix numbering + learn to count CONTRIBUTING.md
Merge pull request #119 from ihodes/clarify-contribution-document

Add steps to CONTIBUTING.md
further tweakage to contributing
Merge branch 'negative-indexing' of github.com:DavidTimms/immutable-js into DavidTimms-negative-indexing

Conflicts:
	dist/Immutable.min.js
Merge branch 'DavidTimms-negative-indexing'
reduce behavior matches Array#reduce
add flatten and flatMap, alias chain. #98
Handle null as valid value for reduce. #108
Vectors are dense.

Removes the concept of sparcity from Vector, causing unset index and index set to the value `undefined` to be indistinguishable.

See #123 for context on this decision.

The resulting behavioral changes from this diff:

 * Vector iterations now include all indicies 0 .. length
 * Vector look-up no longer checks hasOwnProperty
 * Vector has(n) is now a cheap comparison to length.
 * fromEntriesSequence now skips over nullish values in the parent iterator.
Ensure Vector iteration behaves as if Vector were dense
ArraySequence is iterated densely and treats has as a cheap operation. take and takeWhile no longer need custom overrides.
Simplify `join` to not deal with sparse sequences
No longer need an override of valueSeq since indexed sequences are dense
note
Ensure 3rd argument is correct across sequence API. #121
modified flatten to return an IndexedSequence and fixed bug where flattened sequences returned the wrong iteration count