CUDA: Fixed two warnings: Sign flip for unsigned types, use of 'uint' in function definition.
copy(): Unified behavior of copy() across all types. Resolves #5.

Now a copy() of generic->ViennaCL-type resizes the ViennaCL object if it has zero size.
Conversely, a copy() from ViennaCL-type->generic checks for the correct size of the generic object,
but no longer resizes anything. The rationale is that ViennaCL cannot reasonably know how to resize() external objects of arbitrary type.
Hence, the user is supposed to resize the type, because (s)he easily knows how to do this.