Default unused UMB areas to be read-only.

It looks like MSDOS 6 wants the UMB area to be read-only in order for
it to use it.  FreeDOS doesn't care, but it always maps a page from
high mem when it does use the area.  So, add an option to control
whether unused UMB ram is marked read-only and default it to read-only
as that seems to be more compatible.

This also fixes an off-by-one bug in the shadow range checking code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>