Remove CPU overheads in _query_disc.pyx.

1. The isnsideok call could take up to 50% of the CPU time for a typical query_* call. Resolved.
2. Allow passing in of a buffer to remove overhead of reallocating memory when repeated query_* calls are made.
3. Switch off bounds checking in pixset_to_array
Remove trailing whitespace
Change RuntimeError to ValueError for consistency with behaviour e.g. of numpy ufuncs. Add unit test for buffer-mode query_disc
Use assertRaises instead of catching exception
Further style changes
Merge pull request #184 from apontzen/master

Improve _query_disc.pyx.
Fix compiler warning due to incorrect array new syntax

This fixes the following warning:

    healpy/src/_healpy_sph_transform_lib.cc:49:39: warning: ISO C++ does
    not support variable-length array types [-Wvla]
Use Python 3 compatible except syntax
Remove unnecessary Python 2-style print statement
First step toward Python 3 compatibility

`python setup.py build` and `import healpy` now work in Python 3.
Fix possible segfault if PyUFunc_FromFuncAndData returns NULL

The function PyModule_AddObject checks if the value you are passing it
is non-NULL.
Fix testbuild.sh interpreter

There is no such thing as `/bin/env`; it's in `/usr/bin/env`.
All unit tests but one pass on Python 3.2+

The exception is this one:

    =================================== FAILURES ===================================
    ____________ TestPixelFunc.test_ang2pix_nest_outofrange_doesntcrash ____________

    self = <healpy.test.test_pixelfunc.TestPixelFunc testMethod=test_ang2pix_nest_outofrange_doesntcrash>

        def test_ang2pix_nest_outofrange_doesntcrash(self):
            # ensure nside = 1 << 30 is incorrectly calcualted,
            # because Healpy_Base2 works upto 1<<29.
            # Healpy_Base2 shall not crash the test suite
            id = ang2pix(1<<30, self.theta0, self.phi0, nest=True)
            theta1, phi1 = pix2ang(1<<30, id, nest=True)
            self.assertFalse(np.all(np.isfinite(theta1)))
    >       self.assertFalse(np.all(np.isfinite(phi1)))
    E       AssertionError: True is not false

    test/test_pixelfunc.py:64: AssertionError
    ===================== 1 failed, 78 passed in 10.03 seconds =====================

but I think that this itself is a bug, because Healpy should support full 64-bit HEALPix indexes up to and including `nside=1<<30`.
Document Python 3+ support in README