Implemented is_valid_python_identifier() and its tests
Added missing tests for record subtypes.
Implemented validation of identifiers.

Some refactoring is needed but committing so that I can continue working from another computer
Added tests for getting the field names from a record type.
Started implementation of type extension.

Tests don't pass yet, but I'm committing so that I can continue working from anoter computer.