Refactored rate(); handles findloc outside range

* Refactored load to getmap(), and removed duplicate code.
* Replaced inefficient loop with numpy ops. Thanks msonwalk for
template!
* Handled case where findloc is outside the image. (ROW)