Minor changes to support gcc 4.7

gcc 4.7 has significant C++11 support, but is missing some features.
See http://gcc.gnu.org/gcc-4.7/cxx0x_status.html

* #include <stdexcept> was needed to find std::runtime_error

* gcc 4.7 does not support "Inheriting constructors".  This was fixed by using
  the traditional method of explicitly declaring the constructors.

* Some lambda expressions needed extra love.  More color here:
  http://stackoverflow.com/questions/4940259/c11-lambdas-require-capturing-this-to-call-static-member-function

These changes are minor so I did not use gcc version detection via preprocessor.
Merge pull request #7 from neomantra/gcc4.7

Minor changes to support gcc 4.7.3 thanks to neomantra.  Tested with no issues under 4.7.3 and 4.8.1.