WIP: SAMP re-strucuture

@astrofrog I tried to break up SAMP into multiple files. Could you please review this and let me know if something can be improved?

TODO:
- [ ] Can the Python 2 / 3 imports in `utils.py` which I partly re-import in the other files be simplified?
- [ ] Convert docstrings to astropy format
- [ ] More unit tests
- [ ] More documentation