Provide better type names

Use more descriptive names for the types used to implement the
attribute grammar.

Update documentation on nature of problem of mapping structs directly
to the attribute exposed by the Property grammar.
Add Quantity type for holding value and unit

Typical applications may need to have some values configured as
physical quantities. There are various possible internal
implementations, but the user will want to be able to input
something along the lines of

length = 1.0 mm

or

force = 1.0 kg.m.s^-2

Add a simple pair of double and string to represent this structure.
Allow it to be stored in the Property variant and provide a parser
for it, distinguishing it from the raw 'real' type.

TODO: factor this parser out into dedicated system for further
study.