Updating HTTP method signature to be simpler and more consistent

- HTTP method based signatures like get(), put(), etc.. accept a URL,
  and array of request options. createRequest() is similar but also requires
  a method string.
- Renamed request events to 'before', 'complete', 'error', and 'headers.
- Renamed the associated event classes.
- Adding more docs.