Rebuild

Complete rewrite.

TODO:

- addSalesInvoice API
- optional fields to SalesInvoice
- attribute-defining mechanism to SalesInvoice/Elements
- packagist
- checking test coverage.