#555

Request to merge #555 into the master branch.
It only alters the kernel by a small amount, but the user sees a warning that implies that it didn't add up to 1.  This could be confusing if they thought they had made sure that it would.  e.g.
```
>>> kernel = numpy.array( [[ 1., 4., 1. ], [ 4., 8., 4. ], [ 1., 4., 1. ]] )
>>> kernel /= kernel.sum()
>>> kernel.sum() == 1.0
False
```
So I think the warning should only issue if the discrepancy is more than you would expect from rounding errors.  e.g.
```
>>> numpy.abs(kernel.sum() - 1.0) < 10. * numpy.finfo(kernel.dtype.type).eps
True
```