Added rad, phi, and theta variables to the Photon class to help with
floating point roundoff problems that happen near grid walls.
Changed run.py to run Cylindrical simulations now that I'm testing that
part of the code.
Added a few lines to Grid.propagate_photon to kill the photon if it
loops more than 1000 times. Added this mostly for debugging purposes -
for these tests it that would mean that something is wrong.
Made a number of changes to CylindricalGrid:
- Testing of whether a photon is in the grid is now done using the cell
  index of the photon.
- Started using Photon->rad, theta, phi to test for the distance to the
  next wall. This is because of roundoff error problems.
- The routine for finding the cell a photon is in now uses Photon->rad,
  phi, theta and will adjust their values to be exactly the values of
  the walls if the photon is supposed to be on a wall.