Situations invoices support

This feature allows users to make situations (or interim) invoices.
These invoices are often used in the building business and sometimes in consulting or software development.

This feature has been developed for a customer in 2012 and is in production since then so we consider it fairly stable. We just ported it to the development branch so we can contribute it.

I know it may be too late for integration in 3.7 but I PR it anyway just to no forget it. Feel free to pull it after the 3.7 branch creation.