C++11 changes.

* Replaced iterators with auto keyword.
* Replaced boost::regex with std::regex.
* Replaced IntToString() with std::to_string.
* Replaced boost::unordered_set with std::unordered_set.
More C++11 changes.

* NULL -> nullptr
* Switched the rest of the iterator for loops to use the range syntax
and auto keyword.