Added Signature parsing. Minor bug fixes.

The parses is able to handle data-types and signatures.
Example input file:

(VAR x y)

(DATATYPES
  Nat = µX.< 0:0, s(X) >
)

(SIGNATURES
  id :: Nat -> Nat
)

(RULES
  id(0) -> 0
  id(s(x)) -> s(id(x))
)