[dml-compiler] Support modifiers on slot declarations

  * Added the "protected" and "public" modifiers
Allow controlling the visibility of slots using modifiers

  * For now, only the protected modifier is used, every other modifier
    will cause the generated methods to be public