Moved Error to its own file, started adding useful subclasses to it.
Removed Promise deinit and identifier used for debugging since Beta 3 seems to no longer release weak references too early.
NSMutableData init with capacity now returns optional so added if to handle the failure case to reject the promise with OutOfMemoryError.
Use NSErrorWrapperError to wrap an error returned from a failed NSURLSessionTask.