LL(k) parser backend

I have a working compile.

The only thing **not** generalized to arbitrary _k_ is `h_predict()`.

However, it currently fails to parse the example in `test_llk()`, even though that is LL(1):

    $ ./lltest
    D -> ""
    B -> C E "a"
    E -> ""
    F -> E "b"
    A -> B
       | F
    C -> "x"
       | D
    derive epsilon: {D,E,C}
    first(A) = {a,b,xa}
    does not compile