Consistency: errors can be of any type everywhere
Add more methods
Created definitions for lazy.js

"Like Underscore, but lazier"

https://github.com/dtao/lazy.js
http://danieltao.com/lazy.js/
added promise chaining for http

the type of variable num in below sample was not detected without this signature. 
```
var $http: ng.IHttpService;
declare function foo(): ng.IHttpPromise<number>;
declare function bar(): ng.IHttpPromise<string>;
$http.get('asdfsadf').then((resp) => foo()).then((bla) => bla.data).then((num) => num);
```
Revert "added promise chaining for http"

This reverts commit ef8d6d25e82f5683d586b4be3dd794cc51a1b932. Needs more tests
added Lazy.js to README.md