(+) SQLOperator, (+) SQLType

SQLOperator

(+) getNext
I chose to use a CharBuffer to store results for now, as it has some
convenience methods and any ByteBuffer can be viewed as a CharBuffer
through „asCharBuffer“

I think its  easier to have the attributes be constant size. We can
still implement variable sized attributes through some sort of pointer.
Alternatively, the sizes of the attributes would need to be queried
before a call to getNext by some getAttributeSizesForNextTuple call (in
order to know how large the buffer must be, and the buffer might need
to be adjusted in size if a larger result appears).

(+)rewind
the rewind makes operators reusable, and is helpful for the
implementation of some algorithms like nested loops and cross product.
(+)SQLOperatorBinary, (+)SQLOperatorUnary, (+)SQLOperatorCross

SQLOperatorBinary, SQLOperatorUnary
abstract classes that perform some common operations for operators of a
given arity

SQLOperatorCross
To see if the interface makes sense, I implemented a simple cross
product operator.