Fix basic SIP model functionality

Fixes the `_SIP1D` class by making it subclass `PolynomialBase` and bringing it closer in implementation to other `PolynomialBase` subclasses.  Really it would be best if this subclassed `Polynomial2D`, but that will require a little refactoring of how the polynomial models work.  For one, it would be nice to easily customize the parameter name format.  There's a lot of other boilerplate and repetition that I think could be whittled down.  But that will be an issue for another PR.

I would still like to add some tests before merging this--at the very least there should be a test to evaluate a simple SIP model that can be easily checked for correctness.