Use auto
Change Empty and Contains features to type aliases
Change Size and Count features to type aliases
Do not support function anymore
Add MS Visual C++ 2013 compiler settings