TestBigEndian, and add big endian versions of _str*cmp macros
Merge branch 'develop' into feature/bigendian
Formatting cleanup
Merge branch 'feature/bigendian' into develop
Cleanup and fixes
(evhtp_free): Free ssl_ctx if used.
Properly handle errors when allocating connections and requests.
Prevent double free of request.

When freeing a request, nullify the current request pointer
in the associated connection to prevent the request from
being doubly freed when the connection is freed.
Stop parsing when we have got a complete response/request.

evhtp_connection_t keeps a pointer to the current evhtp_request_t, so
starting to parse the next request before the previous is complete
will do nothing but break things.

Also the old code didn't detect parse errors occuring on the last
character...
(evhtp_connection_free): Call hook before freeing request.

If the connection is terminated while processing a request we want to
be able to inspect it.
Properly parse CONNECT request line.

For CONNECT the Request-URI portion of the Request-Line is always the
host name and port number destination of the requested connection
separated by a colon.
Support IPv6 literals in CONNECT authority string.
Separate fragment string from query string according to RFC 3986.

Saves the fragment string in uri->fragment.
(evhtp_parse_query): Remove strange handling of '?' and '/'.

They have no special meaning in an URI query, as clearly stated by RFC
3986, section 3.4:

 The query component is indicated by the first question mark ("?")
 character and terminated by a number sign ("#") character or by the
 end of the URI.

    query       = *( pchar / "/" / "?" )

 The characters slash ("/") and question mark ("?") may represent data
 within the query component.  Beware that some older, erroneous
 implementations may not handle such data correctly when it is used as
 the base URI for relative references (Section 5.1), apparently
 because they fail to distinguish query data from path data when
 looking for hierarchical separators.

libevhtp apparently fell under "older, erroneous implementations".
Fix parse errors on trailing whitespace in Content-Length header.
(evhtp_parse_query): Advance state to s_query_key after start.

Previously the first query parameter key would become empty.
Add hooks for host and port, and fill in authority struct.
(_evhtp_path_new): If len is 0 we set full to "/", just like path.
Do not use different API/ABI when regexps are disabled.

Put evhtp_callback_type_regex last in enum.
Fix warnings in test.c when EVHTP_DISABLE_REGEX is defined.