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.