Dababase constranints for step table.

Strengthen validation of steps introducing more contraints.
Step creation with OPTIONAL number argument.

* Re-introduce now a possible step number to add a step in a prefixed position,
  which will automagically update all following steps.
* Add unittests for this new feature.
Add delete() function to step, caring the update of step numbers.

* Implement Step.delete()
* Add test_delete() to test_models.TestStep
* Fix abstract class "Model"'s delete method.
Creating draft for handlers in /admin/field/step.

* Creating a StepsCollection handler, without registering it to
  globaleaks.rest.api
* Add delete() callback for DELETE request, which will take care of multiple
  steps deletion.
* Unittest delete callback with a trivial test (still have to think about corner
  cases)
Strengthening unittests for /admin/field.