Improve Makefile to do conditional compilation
Break out BIPs into separate module

The control and database BIPs are left in the interpreter as they are
really part of it.
Quote atoms when needed, must special case ,

The quoting is too simple and cannot handle characters in atom whcih
need to be backquoted.
Normalised io functions to have an xxx1 version to return an iolist
Move DCG code and predicates to separate module
Implement the erlog server as a gen_server
Move lists predicates to separate module
Make add_compiled_proc and add_built_in take functor
Fix token in syntax_error in all_read/2

Also took the chans to change the 'dot' token to a '.'.
Add equivalence of ./2 and lists
Move file (re)consulting into erlog_file
Remove user_pl.erl as it has been subsumed by erlog_lists
Add timeout infinity to calls to erlog "engine"

This may be over generous as we wil not catch infinite recursion.
Move sort/2 from erlog_int to erlog_lists
Remove erlog_scan.erl from saved files
Limit dereferencing of goal arguments to one level

This stops unnecessary repeated dereferencing of the arguments when
recursing over the lists.
Add memberchk/2 predicate to lists library

Memberchk/2 only checks if element is there, does not generate a list
and is non-backtracking.
Merge branch 'develop'