Additional native types, unit tests.

- Adding "set", "boolean", "integer", "real", "timestamp" and "bytes" as
  first-class citizens, along with pre-existing "sequence", "set" and
  "string" (re-named "unicode") kinds.
- Implicit tag resolution following the YAML 1.2 spec when extracting to
  ygg::any.
- ygg::any re-implemented with Boost.Variant to enable allocation on the
  stack and use as a container key.
- Tidied up headers by moving some inline function definitions to
  yggdrasil/detail.