Fix splitPile(0) to always return false, not 0 or NaN-count piles

Previously, splitPile(0) would enter the 'fractional split' codepath
(n < 1 but not n < 0), executing:

      n = Math.ceil(@count * n)

but with @count == Infinity, n = 0, 0 * Infinity returns NaN
(not a number)... ultimately, this was causing eating in voxel-food
with infinite sized piles to turn into NaN if you were full. Fixed
ItemPile to now always return 'false' when attempting to split off
nothing. Also added unit tests for this case.
0.2.2