Fix & improve Attribute class

Fixed a problem with the copy constructor which was causing crashes
(fixes #661 and #664)
Added copy and move assignment operator
Added move constructor
Using uint8_t pointer for value instead of void so that we can use
pointer arithmetic to increase int attributes.