Cleaned up lua2prolog code, and 'removed' the conversion for generic for loops.
More documentation revision.
Renamed function.lua to closures.lua. Closure tests will be added when the feature is implemented.
Changed the way local variables are generated. With the previous method,
the statement 'local x, y, z = ...' wouldn't work correctly for example.
If the variable argument list had more than one value, the first value of
the list would be assigned to x, but both y and z would remain nil.
With lua2prolog changed, the syntax needed to be updated too.
The calculated runtime is now the time it takes to evaluate an entire program, excluding
the time it takes to read external Prolog source files via the consult/1 predicate.
Fixed generated syntax for local variables that aren't initialised explicitly. The statement 'local i'
is valid in Lua and creates the local variable i with the value 'nil'. On the other hand, the statement
'i', i.e. creating a global variable without assigning an initial value to it, is not allowed.
Split standard.pl into environment.pl for environment manipulation, output.pl for output aesthetics, and types.pl for the data structures used in Prolua.
Renamed run.sh to prolua.sh so it's clear which file is the executable.
Correctly implemented dag_countNodes.
Moved 'value management' to semantics.pl.
Implemented code to generate generic for loops in Prolua.
The semantics has been rewritten after the documentation was revised to take
into account the behavior of closures. Having never fully understood closures,
semantics prior to this used an execution environment that wasn't suitable,
e.g. execution contexts were purged once the function they belonged to exited.