fix floating point arithmatic with a round

The current `floor` in `getOptimalCrop` causes a `Division by zero` error.  I have supplied two tests cases.. one exposes the /0 error from the round the other test case exposes the `-2.8421709430404E-14` crop point issue I was running into the other day.

I've been looking through the paperclip test suite and this commit is a step in the direction of getting their kind of test coverage.

Cheers!