New Pythonic pcl.{load,save} functions; PLY format support

This is a pretty massive change to the codebase. It replaces `PointCloud.{from_file,to_file}` with free-standing `load` and `save` functions. To prevent excessive compile times, these functions are defined in a pure Python module, and the code is reorganized into a package to make this possible.

Also, the `PointCloud` constructor was pimped to take a list, array or integer argument for initialization. I found that more Pythonic than the current "construct, then fill" idiom.

The first four commits are actually the ones from #30; I wanted to avoid merge conflicts with that PR.