Make zpool create -m <mountpoint> and -O mountpoint=<mountpoint> equivalent.

This allows specifying a mountpoint using the latter form and having
its value checked and used as it would be using the former form.

Practically speaking, this means that any pool name can now be used,
even if its name would conflict with an existing top-level system
directory name, since the root dataset's mountpoint can be explicitly
specified to something other than the default.

As a consequence of this change:
1. The mountpoint property is set in the fsprops nvlist prior to
   creating the pool, rather than being set after creating the pool.
   This seems to be the proper approach, since it avoids creating the
   pool if the mountpoint setting would cause the command to fail.
2. The mountpoint property, unlike all others, can be specified more
   than once.  Only the last setting takes effect.  This is to avoid
   breaking potential existing users that specify -m more than once.
3. The old code in zpool_create() for the "altroot" property never
   did anything, since zpool_do_create() mounted the root filesystem
   before zpool_create() changed its mountpoint.  So remove it.

Submitted by:	Will Andrews <willa@spectralogic.com>
Submitted by:	Alan Somers <alans@spectralogic.com> (consequence #3)