Knock ~ 50% off Time construction from a timestamp

Looking at the performance of Time under a release build we find that
most of its time is spend constructing the std::stringstream objects.

By using a single stringstream we our dominate expense becomes time
manipulation...

BEFORE:
 --> Time::Time(std::string const&)/Time::operator=(std::string const&) : 181022 / 5 (36204)
     Time::Time(std::string const&)/Time::operator=(std::string const&) : 353726 / 11 (32156)

|Time::operator=> ls
  Time::operator=(std::string const&)
      Calls: 5, Time: 181022, Av. Time: 36204
      std::basic_ios<char, std::char_traits<char> >::init(std::basic_streambuf<char, std::char_traits<char> >*)
          Calls: 105, Time: 92190, Av. Time: 878
      mktime
          Calls: 10, Time: 18636, Av. Time: 1863
      std::istream::operator>>(int&)
          Calls: 30, Time: 15568, Av. Time: 518

AFTER:
 --> Time::Time(std::string const&)/Time::operator=(std::string const&) : 158418 / 11 (14401)
     Time::Time(std::string const&)/Time::operator=(std::string const&) : 95998 / 5 (19199)

|Time::operator=> ls
  Time::operator=(std::string const&)
      Calls: 11, Time: 158418, Av. Time: 14401
      mktime
          Calls: 22, Time: 39332, Av. Time: 1787
      std::istream::operator>>(int&)
          Calls: 66, Time: 29117, Av. Time: 441
      std::basic_ios<char, std::char_traits<char> >::init(std::basic_streambuf<char, std::char_traits<char> >*)
          Calls: 33, Time: 28974, Av. Time: 878