Make profile runtime a compile time constant

Can now change the time each test will be profiled for via an
environmental variable at compile time.

In an effort to increase reliability of the timer, timing has been
reverted back to clock()

Use raw function pointer inside profile loop to prevent time spent in
std::function::invoke poluting the flat graph

Fixes #44

Also updates c++0x to c++11