Support "mountpoint" and "mounted" properties for snapshots

This allows us to export without manually unmounting each mounted
snapshot first.

Upstream shunts snapshots to the end of the list when sorting for
unmount order, since upstream does not support explicit mounting
of snapshots. However, since we are (at least temporarily)
allowing snapshots to be manually mounted, we need to support the
mountpoint property so that the comparison function has something
to work with when we ask it no longer to shunt snapshots to the
end of the list, but instead to determine their proper place in
the order of unmounts.

And it turns out the upstream mount code will also consult the
mountpoint property, so we can remove the special code in mount
that was separately determining the mountpoint to use for the call
to mount(2).

Because we are determining mountpoint in zfs_prop_get, we have the
relevant strings needed to derive the snapshot's mountpoint without
needing to zfs_open the parent dataset first.

For good measure, the "mounted" property is now enabled for
snapshots, too.