Added type definitions for IxJS (only for l2o.js)

Added type definitions for IxJS project v1.0.6
(https://github.com/Reactive-Extensions/IxJS) only for core Linq to
Objects (l2o.js).
Created Disposable (for ix.js); Removed generative type recursion

Via TS spec #3.5.2 generative recursive are disallowed (restriction will
be removed in the future), so added workaround.
Disposable interface extracted from Enumerator
Added type definitions for IxJs/ix.js.
Added file descriptions
Added missed return type for Ix.Disposable.dispose
Fixed formatting
Fixed several bugs in l2o.d.ts

- fixed Enumerator variable type
- added Comparer interface
- added return alias for returnValue
- minor fixes
Added tests for l2o.d.ts

Tests for all functions defined in Enumerable and EnumerableStatic
Removed Comparer from ix.d.ts (alreadu defined in l2o.d.ts)
Added tests for ix.d.ts

Tested all functions defined in ix.d.ts in EnumerableStatic
Added tests for ix.d.ts

- added tests of all functions defined in ix.d.ts Enumerable
- minor fix in ix.d.ts
Added tests for Disposable, Enumerator, Dictionary, Lookup

- added tests for all functions defined in l2o.d.ts in Disposable,
Enumerator, Dictionary, Lookup
- removed workaround definitions for spec#3.5.2 (it produced more
problems)
- fixed Lookup.toEnumerable
Merge pull request #1180 from Igorbek/master

Added type definition for IxJS project