AbstractLog: print exception class name.
hashToDatasource() helper function: return empty array if argument is not traversable.
PropSerializer: use interface instead of implementing class name.
Session Database implementation. Refs #1092

All tests incomplete.
Release 1.4.1
SessionDatabase: all unit test green, full coverage. Refs #1092
Merge branch 'davidep.1092'