Add the 'safe' type to the library.

  This closes #1. A few notes: Due to a bug in the shared_future
  implementation of gcc, the way to iterate the safe is currently not
  const correct. One should technically be able to iterate the members
  of the safe with a const reference, however this is not currently
  feasible. This issue has been solved in GCC 4.8, however for
  compatibility reasons, and to not immediately break the current
  interface, it will stay this way. It should be noted that the
  iteration of the single safe instance (vault) is only provided for
  internal library consumption to avoid coupling and unit tests. It
  should not be used within one's tests, unless specified otherwise in
  the documentation.

  Additionally, as of right now, there is little reason for the
  configure header. As such, I'll slowly be phasing it out before the
  release until it is no longer necessary. If a reason for it arises
  (such as allowing for compiler specific checks and information, or
  disabling code generation at compile time based on certain options
  (such as RTTI being enabled), it will return.