Change aspect mask from a 1-32 bitmask to a 0-31 bitmask.
Refactor aspect mask serialisation and use in signal state update.
Move discontinuous aspects test body into a separate function.
Add initial support for conditional aspect masks.
These are additional aspect masks which conditionally apply based on
the aspect of the current route target (not the current signal).