Enable 'reserved', 'unassigned' names to be used for registers, bit fields

'reserved' and 'unassigned' must be able to be used for register and bit field names. Other than these names, register names must be unique within a module and bit field names must be unique within a register.

At present, due to the use of OrderedDict with the register/bitfield name as the key, the names must be unique.