Transform

Creates a new Macro that allows you to define transformations from one thrift struct to another, where by default fields with the same name are copied from the source struct to the dst struct. It also allows for specifying functions to calculate the value for the specified dst field based on the src.

Example:
```
Macros.mkTransform[Types, SubTwo](
   ('intField,  (x: Types) => x.intField + 1),
    ('longField, (x: Types) => x.longField - 1)
)
```

I also did some tidy up to reduce the number of imports required in by maestro users.

Also deleted anything related to the Split macro since it isn't in use and has been superceded by the transform macro.
Not sold on `Macros.mkTransform`... Maybe prefer `Maestro.transform`...

We need to add lots more in the way of examples, something like:
```
val customers = load[Customer](...).map(transfomer)
customer |> view(Partion...)
val children = customers.filter{_.age < 18}.map(Maestro.transform[Customer,Child](...))
children |> view()

```
There is also quite a bit of inconsistency creeping in. In some cases we use `Fields.x`, and in some cases we use 'x`, which I think we need to address...