Remove duplicate block()/unblock() code
This makes all EMPER synchronization primitives inherit from Blockable. As result all block and unblock operations of a context will go to the same code path. We can later use this to store the set of currently blocked contexts.
Also Blockable now inherits Logger, which makes some things easier, but as result we have to invoke the logX() methods with "this->" prepended. See related code comment.