Added options argument to EllipsoidPrimitive

More polish from the transit hackathon.

Now all primitive constructors take `options`.  This combined with `primitives.add` returning the primitive makes everything peachy.

Includes #1193.  Merge that first.