Applying the spec at runtime
output rows
generalizing the type of wrapErrors
evalExpr bypasses the hawk function

it was easier to reimplement the parts of the hawk function which I
needed than to refactor the function into the shape I needed.
fix "broken pipe" regression
fix some of the tests

PreludeTests still fails hard, because this weird doctest+hint
interaction which leads to:

    fd:6: hGetLine: end of file
    reference: fd:5: hClose: resource vanished (Broken pipe)
split off runtime, fix crazy hClose bug

Having the source for the runtime and executable at the same place was
causing issues during the test. By giving the path to the executable
source, ghci (called by doctest) was also finding the source to the
runtime, which caused HawkRuntime values to be interpreted instead of
compiled. This in turn conflicted with hint, who is only using compiled
values except inside the user expression. That caused ghci to segfault,
and doctest to report an unexpectedly-closed handle.
remove spurious newline after the output
fix spurious extra row

lines are terminated by "\n", not separated by "\n", so treat the "\n"
separator as a special case.
fix raw lines and raw stream modes

processTable was always expecting a function operating on tables, but
with those modes, the user expression operates on [B.ByteString] or
B.ByteString instead of [[B.ByteString]].
testing processArgs instead of "hawk"

the "hawk" function is being deprecated.

the tests fail because there is currently no way to specify an input.
read input from a temporary file

the tests still fail because they don't expect a newline at the end?
why didn't those tests fail before?
adding newlines to the tests

hawk should output a proper newline-terminated file, except when the
user requests a more unusual output row separator.
update test: hawk "" prints an empty line

That's what it does in 1.0, at least. I'm not sure that's what we want.
Maybe a syntax error?
remove unused "hawk" function.

the core is now provided by the "processArgs" function.
remove unused QualifiedByteString

It's now a HawkRuntime we pass to hint, so we only need
QualifiedHawkRuntime.
remove unused StreamFormat stuff

now the stream format is represented by the InputFormat.
remove unused imports
remove the old runtime

The new runtime, based on HawkRuntime, was implemented from scratch,
thereby re-introducing many bugs which had been fixed long ago. Better
to refactor incrementally next time!
remove unused unQR