fix: invalid memory access on handwritten loop

also refactored to use standard algorithm copy_n
refactor: using lambda to select tolower overload

It is more readable than the function-to-pointer version.
add reminder to use dynarray when C++14 is enabled
add new error condition: http_errc::buffer_exhausted
handling buffer exhausted condition

The user will get notified when the buffer gets exhausted.
computing HTTP verb string sizes at compile-time.

This change will ease the string construction work.
add typedefs to message container
add general HTTP server algorithms

they are implemented in algorithm.hpp and there are written tests for
them in algorithm.cpp.

conformance follows RFC7230 and RFC7231.
refactor: status_code::continue_ is now status_code::continue_request
fix: removing extra tests that aren't required

they were introduced in commit 000805dbc69b6951ebd7671bffd1613bc5a70fad
refactor: more elegant definition for header_value_any_of algorithm
refactor: removing redundant code
fix: headers gathering algorithm
add write_continue implementation
add example on how to handle write continue
fix: corrupt output message with extra '\0' characters
refactor: removed message_type typedef
add comment explaining the non-use of pimpl
add documentation structure skel
adding doc generated files to .gitignore