entity initializers to define SSH sensors and effectors from yaml

start by looking at the documentation and the example therein, then look at the commits individually to see how it is built up
I like `Maybe` when either:
* there is ambiguity about the result 
* or if the caller is likely to want to throw if null

Otherwise I prefer `null` because it is more direct.