Merge pull request #22 from MattFaluotico/master

Added slice method
Update README.md
Adding better docs
Merge pull request #23 from ankurp/better-docs

Adding better docs
Adding adding functions docs
Merge pull request #24 from ankurp/better-docs

Adding adding functions docs
Update README.md
Update README.md
Add partition, partitionAll, partitionBy

partition produces an array of arrays, each containing n elements, each offset by step (optional).
It also allows an optional padding array which will attempt to fill the last partition to n elements if short.

partitionAll allows the last partition to be less than n elements long without using padding elements.

partitionBy applies a condition to each element in array, splitting it each time the condition returns a new value.
Improve frequencies method

Now allow frequencies to be passed a function.
The resulting dictionary will be the frequency of results when applying
the function.
Merge pull request #26 from zolrath/extended-frequencies

Improve frequencies method
Make $.range generic
Merge pull request #27 from nubbel/feature/generic-range

Make $.range generic
Make $.first and $.last generic functions.
Fix $.difference function.

The "as" operator is not the canonical way of unwrapping optional!
Merge pull request #28 from nubbel/feature/generic-first-last

Make $.first and $.last generic functions.
Combine overloaded partition function via defaults

Combine method signatures of partition when able via optional parameters
which are set within the function. Unfortunately, optionals cannot be set to
equal earlier arguments within the method signature.
Merge pull request #25 from zolrath/master

Add partition, partitionAll, partitionBy
Convert most AnyObject to Generic <T>

In order to not lose type information many methods have been changed
to use generics instead of AnyObject.
Rework merge signature

Given dictionaries `dict`, `dict2` and `dict3` previously merge was
called via:
$.merge(dict, dictionaries: dict2, dict3)

With these changes merge becomes:
$.merge(dictionaries: dict, dict2, dict3)

and gains
$.merge(arrays: arr, arr2, arr3)