Fixed missing cv_init() / cv_destroy() calls in space_map_load(), txg_init() and txg_fini().
Fixed type mismatch between lib/libzpool/common/kernel.c and zfs_context.h
Fixed unneeded memcpy on it self in zio_ready(zio_t *zio).

In zio_ready(), under some condition a blockpointer is copied into
itself, i.e. bptr_t bp1, *bp2;  bp2 = &bp;  bp1 = *bp2;
This produces a memcpy overlap error in valgrind.

The real question of course is, if trying to copy the blockpointer
into itself is a legitimate operation here.  Not sure.

Call tree for the offending copy:
==00:00:00:02.705 27867== Source and destination overlap in memcpy(0x1004b94f8, 0x1004b94f8, 128)
==00:00:00:02.705 27867==    at 0x10016AD73: memcpy (mc_replace_strmem.c:523)
==00:00:00:02.705 27867==    by 0x1000B954C: zio_ready (zio.c:919)
==00:00:00:02.705 27867==    by 0x1000BE103: zio_next_stage (zio.c:2024)
==00:00:00:02.705 27867==    by 0x1000B9192: zio_wait_for_children (zio.c:846)
==00:00:00:02.705 27867==    by 0x1000B93BA: zio_wait_children_ready (zio.c:874)
==00:00:00:02.705 27867==    by 0x1000BE38A: zio_next_stage_async (zio.c:2073)
==00:00:00:02.705 27867==    by 0x1000B9111: zio_nowait (zio.c:833)
==00:00:00:02.705 27867==    by 0x10009B7D8: vdev_label_read (vdev_label.c:168)
==00:00:00:02.705 27867==    by 0x10009C69D: vdev_label_read_config (vdev_label.c:336)
==00:00:00:02.705 27867==    by 0x100096FD3: vdev_validate (vdev.c:1009)
==00:00:00:02.705 27867==    by 0x100096F80: vdev_validate (vdev.c:999)
==00:00:00:02.705 27867==    by 0x100096F80: vdev_validate (vdev.c:999)
==00:00:00:02.705 27867==
Fixed potential NULL pointer dereference in zap_lookup_norm()

In zap_lookup_norm(objset_t *os, uint64_t zapobj, const char *name,
    uint64_t integer_size, uint64_t num_integers, void *buf,
    matchtype_t mt, char *realname, int rn_len,
    boolean_t *ncp)

strlcpy() is called with a size of 0, which results in undefined behavior.

Calltree (example):
==00:00:00:07.711 27867== Invalid write of size 1
==00:00:00:07.711 27867==    at 0x10016AFFA: strlcpy (mc_replace_strmem.c:373)
==00:00:00:07.711 27867==    by 0x1000AF568: zap_lookup_norm (zap_micro.c:683)
==00:00:00:07.711 27867==    by 0x1000AF428: zap_lookup (zap_micro.c:645)
==00:00:00:07.711 27867==    by 0x10007A78B: dsl_pool_open (dsl_pool.c:92)
==00:00:00:07.711 27867==    by 0x100083AB0: spa_load (spa.c:1124)
==00:00:00:07.711 27867==    by 0x100084538: spa_open_common (spa.c:1456)
==00:00:00:07.711 27867==    by 0x100084783: spa_open (spa.c:1528)
==00:00:00:07.711 27867==    by 0x100008404: main (zdb.c:2399)
==00:00:00:07.711 27867==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==00:00:00:07.711 27867==
==00:00:00:07.711 27867==
==00:00:00:07.711 27867== Process terminating with default action of signal 11 (SIGSEGV)
==00:00:00:07.711 27867==  Access not within mapped region at address 0x0

Note that zap_lookup() *always* calls zap_lookup_norm() with a zero
size argument, which is correct.  So zap_lookup_norm() must not depend
on implementation-defined behavior regarding strlcpy with zero size.
Fix a missing cv_init() cv_destroy() pair in spa_add() / spa_remove().

spa_add() does not fully initialize the spa structure, resulting in
undefined behavior due to uninitialized memory later on.

Calltree at time of crash
==00:00:02:46.240 31470== Process terminating with default action of signal 4 (SIGILL)
==00:00:02:46.240 31470==  Illegal opcode at address 0x10023291D
==00:00:02:46.240 31470==    at 0x10023291D: __abort (in /usr/lib/libSystem.B.dylib)
==00:00:02:46.240 31470==    by 0x100232980: abort (in /usr/lib/libSystem.B.dylib)
==00:00:02:46.240 31470==    by 0x1000A21E8: cv_wait (kernel.c:348)
==00:00:02:46.240 31470==    by 0x10000D65B: ztest_suspend_monitor (ztest.c:3174)
==00:00:02:46.240 31470==    by 0x10017D455: _pthread_start (in /usr/lib/libSystem.B.dylib)
==00:00:02:46.240 31470==    by 0x10017D308: thread_start (in /usr/lib/libSystem.B.dylib)

here the conditional variable spa->spa_zio_cv is used uninitialized,
causing cv_wait to fail and the program to raising SIGABORT.
Fixed missing #ifdef __APPLE__ around change name type in call to zfs_dirent_lock().

The call to zfs_dirent_lock() in zfs_create() was missing an
replacing the "char *name" parameter with Apples"componentname_t *cnp".
This triggered a kerel panic on file create.

panic trace:
0x21b455 <panic+445>:	mov    0x8011d0,%eax
0x2a8ab2 <kernel_trap+1530>:	jmp    0x2a8ace <kernel_trap+1558>
0x29e9a8 <lo_alltraps+712>:	mov    %edi,%esp
0x4d614177 <zfs_dirent_lock+95>:	movzbl (%eax),%eax
0x4d6240ca <zfs_create+542>:	mov    %eax,-0x28(%ebp)
0x4d624820 <zfs_vnop_create+259>:	leave

0x4d614177 is in zfs_dirent_lock (/Users/bj/new-mac-zfs-bjoka/usr/src/uts/common/fs/zfs/zfs_dir.c:197).
192			ASSERT(name[cnp->cn_namelen] == '\0');
193	#endif
194		/*
195		 * Verify that we are not trying to lock '.', '..', or '.zfs'
196		 */
197		if (name[0] == '.' &&
198		    (name[1] == '\0' || (name[1] == '.' && name[2] == '\0')) ||
199		    zfs_has_ctldir(dzp) && strcmp(name, ZFS_CTLDIR_NAME) == 0)
200			return (EEXIST);
201

0x4d6240ca is in zfs_create (/Users/bj/new-mac-zfs-bjoka/usr/src/uts/common/fs/zfs/zfs_vnops.c:1674).
1669	#ifndef __APPLE__
1670			if (flag & FIGNORECASE)
1671				zflg |= ZCILOOK;
1672	#endif
1673
1674			error = zfs_dirent_lock(&dl, dzp, name, &zp, zflg,
1675			    NULL, NULL);
1676			if (error) {
1677				if (strcmp(name, "..") == 0)
1678					error = EISDIR;
    Fixed missing clean of ZFS106.

    Due to a typo, build/ZFS105 was cleaned twice and build/ZFS106 no at all.
Updated installer texts based on Daniel Bethe's suggestions, except credits.

Reworded most texts in the installer based on Daniel Bethe's suggestions.
File CREDITS not added, need further work.
Added option to specify module identifier on command line.
Merge branch 'untested' into untested_ashift

This imports the latests fixes from untested:

d3df1442 Fixed missing cv_init() / cv_destroy() calls in space_map_load(), txg_init() and txg_fini().
e85d2cca Fixed type mismatch between lib/libzpool/common/kernel.c and zfs_context.h
339b7341 Fixed unneeded memcpy on it self in zio_ready(zio_t *zio).
9b24f0fe Fixed potential NULL pointer dereference in zap_lookup_norm()
34cbc198 Fix a missing cv_init() cv_destroy() pair in spa_add() / spa_remove().
e35f948f Fixed missing #ifdef __APPLE__ around change name type in call to zfs_dirent_lock().
cb6a432f Fixed missing clean of ZFS106.
448671a1 Updated installer texts based on Daniel Bethe's suggestions, except credits.
6e5b7e51 Added option to specify module identifier on command line.
Fixed left-over reference to wrong flag for create/import of pool.