Several changes

* add save() method to base ray class (imporant hook to have around)
* start adding dielectric sphere to extra.py
* add visualization submod with ray plotting
Added test case for dielectric sphere; fixed a few bugs
Make RandomDistribution support correlated x/theta
Got enter_bead method working