Need a few extra libs to build executable.
Some simple C++11 changes.

Use auto type for iterators and range-based for loops.
Replace auto_ptr with unique_ptr.