source-gen: Annotate abstract class’ attrs formal
Backend tests: Reorganize test interfaces

Extract some more extra interfaces so that we write tests for
compilation or conversion only. For example, Bounds (to be added in the
next commit, see #38) can be converted, but not compiled.
Add WithinOperation, Bound, OpenBound, ClosedBound

Closes #38; implemented following the RedHat compiler’s design.
Add tests for WithinOperation, Bound etc.