Add missing RawProperty class with unit tests
Fix delegation to _apply_{action type}_action() methods

This change is needed for "UpdateRawPropertyAction" to be translated
to "_apply_update_raw_property_action" correctly.
Change _validate_object_properties() to take property names

Prior to this, the method took property objects, however, if we want
to reuse the method for raw property actions, we'll have to stick to
names as there are no Property objects stored in the classes
UpdateRawPropertyAction and UnsetRawPropertyAction.
Catching/report missing property names in raw property actions
Add unit test for parsing update-raw-property without property name
Implement applying of update-raw-property actions
Add a raw_property_data() method to Service and local.Store

This method takes a commit, an object and a raw property name and
returns the data of the raw property. If a property name of a
non-raw property is passed in, a PropertyNotRawError is raised.
Make run_python_test able to parse multiple YAML documents

The first YAML document is assigned to the same test variable as
before (output_yaml), the second to output_raw_properties, which
is expected to be a dictionary mapping object UUIDs to dictionaries
mapping raw property names to raw property data:

    <uuid 1>:
      foo: <raw data>
      bar: <raw data>
    <uuid 2>:
      foo: <raw data>

This can then be used to verify that specific raw properties hold
expected raw data.
Print raw props along with objects from the latest commit of a ref

This is required so that scenario tests can verify that
update-raw-property and unset-raw-property actions modify raw
properties as expected.
Add scenario tests for update-raw-property actions

This also removes a few outdated TODOs from the transaction tests.
Merge branch 'jannispohlmann/implement-update-raw-property-rebase'

Signed-off-by: Jannis Pohlmann <jannis.pohlmann@codethink.co.uk>
Reviewed-by: Adam Coldrick <adam.coldrick@codethink.co.uk>