Remove solvent ions

I used @swails's references and made a list of common solvent types. @rmcgibbo: Let me know if the additions are up to your standards.
This will raise a `ValueError` if `type` is not a member of `_SOLVENT_TYPES`. And if a user passes a string in as `exclude`, it will look for each letter of the residue name they pass instead of the residue name itself.  And the exception will not have a very clear error message.  I would suggest adding protection (even if it's just to raise a `TypeError` if exclude is not iterable or it's a string) with a helpful error message (or expand it to accept a string with a single residue name).