get some exception safety, using Cython's built-in exception translation

Uses a hack to get around limitations in Cython, see pcl/indexing.hpp.
See https://groups.google.com/forum/#!topic/cython-users/AAo7MQFLZyw
for explanation.

Also, we no longer need to use the at member when bounds checking is not
needed:

>>> import pcl
>>> p = pcl.PointCloud()
>>> %timeit p.from_array(a)
100000 loops, best of 3: 17.5 µs per loop

This used to be 23.4 µs per loop.
exception for resolution <= 0 in OctreePointCloud c'tor

Used to trigger a C assert/abort in PCL 1.7.1.