feat(model): makes properties that start with $ private.

Private properties are not decoded/encoded, they are also not listed
in methods like $each.

BREAKING CHANGE: All properties starting with $ are now ignored, use
after-feed and before-render hooks to provide custom decoding/encoding
of properties that start with $.
feat(model): makes $each method skip private properties

BREAKING CHANGE: $each no longer skips properties flagged as SyncMask.SYSTEM.

Convention is used for masking system properties now. Since SyncMask
is being removed, $each will no longer accept a mask attribute.
feat(model): replaces SyncMask by string mask.

BREAKING CHANGE: SyncMask is no longer available.

The attrMask method and the ignore attribute modifier now take a string,
see attrMask documentation for more information.

Closes #43