CUDA: Tidy up extending tests
CUDA: Tidy up extending tests

Splits the extension test up into separate tests for attributes,
properties, and passing and returning extension types. Testing a
function call (the constructor) is not done separately because it is
required for each of the tests, given that we can't pass in and box /
unbox an Interval from outside a kernel on the CUDA target.

seibert/numba,stonebig/numba,cpcloud/numba,IntelLabs/numba,IntelLabs/numba,numba/numba,cpcloud/numba,stuartarchibald/numba,stonebig/numba,stonebig/numba,numba/numba,seibert/numba,seibert/numba,cpcloud/numba,stonebig/numba,numba/numba,IntelLabs/numba,IntelLabs/numba,seibert/numba,numba/numba,IntelLabs/numba,stuartarchibald/numba,stuartarchibald/numba,stuartarchibald/numba,seibert/numba,cpcloud/numba,cpcloud/numba,stonebig/numba,numba/numba,stuartarchibald/numba