Added at and size member method overloads to Buffer template
* If at(size_t) is called without a size template argument it returns a pointer moved to the specified index in bytes
* If size() is called without a size template argument it returns the Buffer size in bytes
* Expanded Buffer template test cases accordingly