interpret table names in context of mountPath and basePath (Fixes #198)

Basically, the JVM sucks at recursion, even tail recursion. Because recursion is how you iterate in the FP world, the JVM sucks at FP. Straightforward tail-calling is one special case of recursion that Scala can compile away to efficient JVM code, but for everything else, you're on your own -- trampolining is the "idiomatic" way of solving this issue. :-/