Reduce operator boilerplate

Add notion of  constructable operators.

Implement vname directly on _PlanOperation, freeing operations from having to declare it.
Added documentation for boilerplate removal