WIP
Experiment with table interfaces and classes
Add FindsByElement
Experiment with CellDefinition
Clean up Table.java
Correct iterator
Add role interfaces for richer table types
Remove FindsByElement and such

If this is needed will be in a different pull request
Merge branch 'master' into table
Remove default implementation of isEmpty

It may be common to want to check isEmpty inside getRowCount, and this
removes the possibility of stack overflow. Most rich tables have special
logic for isEmpty, anyway. (Such as checking for an empty message, etc.)
Add javadoc
Merge branch 'master' into table
Add sensible defaults to PaginatedTable
Add interface for defining headers
Merge branch 'master' into table
Add interface for working with table header contents
Push sorting responsibility into column definitions
Merge branch 'master' into table
Rename interfaces for brevity
Add sortable interface methods to SortableColumn