Huge interface changes

* Split the public interface into submodules

The purpose of this change is to avoid polluting the namespace with too
many exports. I also moved the private interface into its own submodule
so that I can import and access its functionality from the other
submodules.

* Generally reduce the number of exported names
* Delete the Measurement Set interface (it is poorly thought out)
* Use `getindex` and `setindex!` in place of the `get` and `put` funcs
* Stop worrying so much about the type stability of getColumn

It turns out that even though getColumn is type unstable, crossing a
function boundary helps things.
Update the README for the new interface
Merge pull request #17 from mweastwood/improvements

Interface Changes