Add attributes to a document when creating or updating it

When a new document is created using the `Document` component, a new entry in `s_order_documents` is created, but no associated entry in `s_order_documents_attributes`. This pull request adds a new attributes entry when creating or updating a document, which doesn't have attributes yet. Furthermore it is now possible to add an `attributes` array to the config, which is passed to the document creation method `initDocument()`. The contained key/value pairs will then be inserted or updated in the attributes entity. The code is backwards compatible, meaning that on an update no exception will be thrown, if no attributes exist yet, but actually a new attributes entity is created and saved in the database.