Move operator<< for Property inside warwick namespace

Recommended by Clang compiler for ADL reasons.
Change typenames to help with refactoring
Refactor bitset parser into separate header

Tidy up PropertyGrammar header by factoring Bitset parser and
associated help structures into dedicated header.

Update PropertyGrammar to use the header and help types.