add to_http_date function into algorithm/header.hpp

This template function takes a posix_time::ptime and returns an
http-date string representation.
add typedefs to runtime-based polymorphic abstractions

- message_type
- method_type
- path_type
- reason_phrase_type

They should always be provided if the HTTP socket is unable to process
generic messages, methods, paths or reason phrases.