Resolved name collisions due to including <algorithm> for std::min/max.
Refactored to work with VS2013.
Made pushBack move aware.