Resolve issue #29 (OS X Support), make many tests pass, add linalg.norm
- Use otool to get the "SONAME" in utils.py
- Added _types class to cublas.py and cufft.py to more carefully
  dispatch handle and stream types.  (The previous version was
  using ints for pointers and this was causing problems.)

- Some tests fail because blas operations define magnitude as
  abs(x.real) + abs(x.imag) rather than abs(x)
- Some tests fail because np.allclose is too restrictive for single
  precision.
- Give setUp() a seed so tests can be reproduced.

- Use misc.init() for autoinit (no cublasInit()).

- pycuda header should simply be #include <pycuda-complex.hpp>

- added linalg.norm()
Fix return types for nrm2 with regressions (these return real not complex types).
Added a scale() method to linalg.
Fixed small bug with shutdown() (cublasDestroy() not found).
Addresses part of issue #36: repeated calls of misc.init() and misc.shutdown() work for cuda
Merge mforbes' updates.
Include pycuda-complex.hpp in cumsum kernel preamble to fix complex number handling. Add mforbes to AUTHORS list.
Update linalg function reference.