Move basket line removal to the managing formset

Old code was breaking `.save()`'s promise of setting a primary key and
caused setups with M2M relations to a basket line to fail. This code
causes quantity input of zero to be treated as if the user checked the
DELETE checkbox.

Fixes #1267