Refactor OTMessage

This is first part of OTMessage refactoring.

Splits OTMessage code and code for specific commands. This allows to have commands defined separately (in a module).
That's the same for both cases.
getAttributeValue returns 0 if it's not set, so in both cases that would not be equal "true" and return false.
Which is good, I think.