A refactoring of the execute fixtures

This PR introduces many new concepts into the DbFit core:

- the idea of tables, rows and cells which are independent of Fit and Fit fixtures (this is built for better testability and code sharing with slim fixtures). In this new world, the Fit fixtures are very simple wrappers which mainly deal with the table parsing and syntax
- the idea that each cell has an action associated with it (see the `Action` interface implementations)
- the concept of a `TestResultHandler` - this is again an abstraction to allow easier testability, and support for both Fit and Slim

Remaining tasks:

- [ ] unit tests
- [ ] make `Row`, `ExecutionTable` independent of Fit
- [ ] reimplement `SymbolAccessQueryBinding`, `SymbolAccessSetBinding` using actions
- [ ] make `MostAppropriateAction` more generic (it should take a list of actions)

/cc @javornikolov: I've been working on this for a while, would definitely like feedback.