Make dynamic/1 behave like external/1

Was previously a no-op.  It was there only for ISO compatibility.
Added social percepts

/perception/social_space and /perception/nobody_speaking
ELProlog functions now recopy complex terms

So aliasing of variables isn’t a problem.  Before you had to know to
manually call copy_term/2 when reading/writing something to the EL
database that might have variables or structures in it.
Added convenience overloads to SolveFor()
Fixed regression bug in DCG expansion
Added QueueEvent() extension method for characters
Implemented dialog acts and action events
Added do_all_character_initializations
Started infrastructure for conversation system