Fixes to function parameter derivation

- Added support for OUT parameters
- Simplified flow
- Clear exceptions for unsupported types (VARIADIC, TABLE)
- Added more unit tests
- Added FunctionTests fixture, which drops all functions in
  the public schema before each test