Added support for RIF Expr expressions, as per RIF BLD.

Reshuffled the interfaces for externals, functions and formulas (Expr is a function, external(exp) is an external and a function, external(atom) is an external and a formula.

changed all datums to hold Jena Nodes, as the basic Jena RDF data structures have been determined to be fit for purpose (no need to reinvent the wheel here!).