Validate and suggest batch numbers

* Validate batch numbers to make them unique among all other batches (not just
  between the batches of the same storables).
* A new parameter that will dictate if we should suggest new values for batches
  or if they should be filled by hand.
* Improve stringutils.next_value_for to use a recursive strategy, that way we
  can suggest better sequence suggestions for the batches
* Implement a new function, stringutils.max_value_for, that will find the
  greatest value on a sequence of strings to workaround problems like the
  comparison '9' > '10'
* Also fix SellableEditor that was suffering from the same problem.

Change-Id: Iae7866b581a256390b7a897dec3040e2fc8629b1