Correct -- behavior on CLI

optparser:on() must be called before optparser:parse() to be effective.
Use SILE.masterFileName instead of arg[1]

The former is more explicit and avoid to rely on global arg.
Do not print "This is SILE..." twice with RL

Print the welcome message only when not inside the readline wrapper, so
when using readline the message is shown only at the first call.
Properly handle readline wrapping

Avoid to overload the global arg with std.optparse:parse(): it wipes
some vital parameters such as the caller identity. Instead use a new
global (unparsed) and leave arg untouched.
Be luaexpat 1.3.0 compatible

In luaexpat 1.3.0 the lom table is returned [1], it is not injected in
the global space.

[1] http://github.com/LuaDist/luaexpat/blob/1.3.0/src/lxp/lom.lua#L59
Merge branch 'pr1'