Major rewrite
1) Refactor component specific database operations from EnigmaDatabase class
to classes specific to each component.

Eg.
Rotor Class contains functional behaviour of component
RotorData Class contains read/write/validate methods to interface with database.

2) All Component classes now inherit from ComponentBase class which provides
basic last error reporting similar to lastError sql type functionality.