Change default maximum ARC size to 1/4 of virtual memory on 32-bit systems

dmesg will print messages about virtual memory allocations failing
without this:

vmap allocation for size 528384 failed: use vmalloc=<size> to increase
size.

Signed-off-by: Richard Yao <ryao@cs.stonybrook.edu>
Linux 3.7 compat, schedule_delayed_work()

Linux kernel commit d8e794d accidentally broke the delayed work
APIs for non-GPL callers.   While the APIs to schedule a delayed
work item are still available to all callers, it is no longer
possible to initialize the work item.

I'm cautiously optimistic we can get the delayed_work_timer_fn
exported for all callers in the upstream kernel.  But until
that happens we can work around the issue by scheduling our
own timer and using it to dismatch the unmount to the system
taskq.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue #1053
Permit root pool import at module load time

We add a zfs_rootpool module parameter to permit us to import the root
pool when the module is loaded. This borrows code from FreeBSD's ZFS
implementation.

Signed-off-by: Richard Yao <ryao@cs.stonybrook.edu>