Updated the migrations to match the choice changes.
Renamed invoice action canceled into cancel.
Refactored a bit the tests.
Invoice cancelation should be possible as long as it has not been paid.
Status abstraction.
Adds the invoice workflow buttons.