Added compiler directive 'eelversion'

The new 'eelversion' directive allows applications and modules to
specify which version of the EEL language they were written for,
allowing the compiler to warn about version mismatches and known
compatibility issues.

The syntax is 'eelversion x[.y[.z]];', where 'y' and 'z' are
required when 'x' == 0 (alpha/beta; that is, until we reach 1.0.0),
and 'z' is only allowed if 'x' >= 1 and 'y' is odd.

Disabling of the operator precedence warning is now inherited via
the import directive, but not via load() from script code.

Also some minor cleanups and updates.

Closes #12.