Add IsOperation, OfOperation (+ abstract)

Inserts a new type UnaryIshOperation between Operation and
UnaryOperation, and adds a new subtype UnaryTypeOperation of it. This is
necessary because UnaryTypeOperations (is, of, and in the future perhaps
satisfies and abstracts) have a type as second child, which
UnaryOperation doesn’t allow.
Add tests for IsOperation, OfOperation backend conversion