Methods that used to return T are returning T*

Also some improvements:
size_t
GetAt refactored.
IsEmpty created