buffer: slow buffer copy compatibility fix

Fix issue where SlowBuffers couldn't be passed as targets for fast
buffer copy().

Also included small cleanups:
* Included documentation on how non uint parameters are handled
* Changed generic Errors to specifics
* Implemented quicker cc checks for undefined parameters
* Simplified Buffer checks
* Fixed buffer copy unit tests