Make a branch for adding header parsing to the request class.
WIP. Start refactoring the Wpup_Request class and header parsing. Does not run yet.
Continue refactoring request process flow.

- Move basic request validation to a new validateRequest() method.
- initRequest() now just sets up the request object with reasonable defaults, nothing more.
- Move package loading to a new loadPackageFor($request) method.
- Move the code that extracts WP version and URL from the user agent header to the request class.
- Add clientIP and httpMethod properties to the request. Previously the logging mechanism just read them directly from $_SERVER.
Regex: In a character class, a dash doesn't need to be escaped if it's the last entry in the list. Also, $key is already uppercase, so there's no need to use the case-insensitive flag.
Merge changes from master