Support complex URLs (+ API change + code cleanup)

This provides:

- Support for parsing more complex URLs, see the extensive commit log on 70ac6eb0a0d685b78573cce0315cb24e43401d37 for details;
- A simpler API (see [usage](https://github.com/nvie/rawes/blob/master/README.md#usage))
- General code cleanup