Added parameter checks.
If selection is empty, use invalid (negative) addresses for both sides of the selection. (Also when clearing the selection.)
Preserve the length of a record when its new start address would result in an illegal length (<=0).
Support arbitrary changes to definition addresses by using new 'DefinitionMap' class.
Keep track of 'Definition' for a 'Record' to improve navigation.
Show whether menu items are enabled or disabled.
Added action to create a record from a pointer.
Added javadoc.