Fixed incorrect range checks in mmap of framebuffer (kern/162373)

Implemented a fix for incorrect/invalid range checks in the vesa
framebuffer when attempting to mmap the framebuffer device. As
described in kern/162373, the original code contains a bug and will
incorrectly refuse to mmap at certain modes/resolutions because it
thinks the mmap length is out-of-range when it isn't.

Testing indicates that the revised framebuffer range check (mmap
offset is less than the window buffer size instead of the old check
that the offset is less than the window size minuse pagesize, which
really makes no sense) is the correct way to go.
Increased VM_PHSYSSEG_MAX on i386

Trying to fix an error "Too many segments in the physical address
map, giving up" on boot that is seen on certain hardware
configurations when booting the i386 GENERIC kernel.

Previously attempted to work around this by setting hw.physmem to 3G,
but that only resulted in a kernel segfault instead of the too many
segments error.

Using VM_PHYSSEG_MAX set to 31, as taken from the AMD64 configuration,
initial testing seems to indicate this is OK for use on i386 as well.
Merge branch 'easyre/vesa_mmap' into easyre/master
Merge branch 'easyre/physseg_max' into easyre/master