Making use of std::declval in traits.

Previous usage of casting null pointer wasn't very "idiomatic".
Exposing socket acceptor on embedded server http socket acceptor.
Refactoring: Removing basic_socket template and  little more.

`basic_socket` was removed, because this template was complicating the
design for no benefit. In Boost.ASIO, the design was successfully used
by designing a Protocol class that could be used in several places.

Also, the recent inclusion of traits fill the void left by the
basic_socket deletion with an actual usefullness.

Another changes in the way:

- Also removed basic_message template in favor of just message, because
  the template arguments were just wrong. `basic_message` template will
  return later, but with correct template arguments and a typedef
  `message` will be created, that just expands to current definition of
  message, by providing correct arguments to the future `basic_message`
  template.
Added a little AA to README.md
Adding .gitignore

The `builds` folder was added to the file.