Cleanup slice and throwError.

Added one unique slice variable (mapped to `Array.prototype.slice`) and used same for all (and removed unnecessary `slice.call`s - `method.apply(context, arguments)` works fine).

And Changed all throw errors to `throwError` for better error handling (for future).