First pass: merge Invocation class into Builder

and alter all references to .invocation in mechanics.py
Merge branch 'master' into no-invocation
Replace builder.invocation. with builder.

And test_upstream needs its dummy classes modifying.
And also remove .invocation from the tests
And remove .invocation from the documentation
And remove .invocation from the examples

...which is not to say whether they WORK or not...
The final parts of tidying up

I think that's all references to the Invocation now gone,
save for the Builder's legacy "self.invocation = self",
to allow older muddle build descriptions to continue to work.