Many changes; added database iterator class, made null checks more explicit, refactored errors so that they match all kadm5 errors and names are in alignment with PEP8
Principal object now does the loading of principals from the database rather than kadminobject handling the initial load.
additional changes