Add for_all and for_any class templates
Add same_type class template
Remove unused template parameter from variant::result_of
Remove static_cast_function::Result
Forward argument in static_cast_function::operator()
Consider move constructor noexcept in static_cast_function
Redefine variant reconstruction in emplacement

Previously, the reconstruct_or_terminate function was defined as a
non-static member function template of the variant class template. This
function is meant to be called for an object that has been destructed,
but C++11 3.8/5 does not allow such a call to non-static member
functions. For object reconstruction to have a well-defined behavior,
the reconstruct_or_terminate function should be defined as a non-member
function.
Add is_callable and result_of class templates
Merge pull request #127 from magicant/fix/common

Miscellaneous fixes and improvements in sesh::common