.so

Issue #328.

I was going for an ad hoc warning, but @gregcaporaso mentioned it could be useful for other stuff so it's defined in it's own module. Let me know if you'd rather not have a new module or prefer it to be in a different place! Thanks.