Added `history ls` assertions.
Initial work on refactoring the history private methods and added more
history assertions.
Updated documentation.
Migrated the common code from lib to lib/modules.
Moved the block internal methods to modules/internal.
Moved the internal history methods to the internal modules directory.