Big refactoring in the "table resolving" part of compileTranslationTable

- Simplified code and removed duplicate code
- Tables can now be resolved against a "base" so that a table can include
  another table in a subdirectory
Add tests
Add lou_registerTableResolver to API

The idea is to give other programs that use liblouis the ability to define
their own table resolver (in C, Java, Python, etc.) when the default
resolver is not satisfying.
Change "table resolver" into a function that resolves a table *list*
Merge branch 'table_resolver'