Don't clean ports modules if NO_KERNELCLEAN is defined.
Add ${SHLIB_NAME_FULL} and ${SHLIB_NAME}.symbols to CLEANFILES.

Also don't bother deleting lib${LIB}.so.* - if SHLIB_NAME isn't set, it
gets set to lib${LIB}.so.${SHLIB_MAJOR} and it's already added to
${_LIBS}, so it's already removed during a make clean.
Fix a lock recursion that can happen when a fasttrap victim process forks.
Fix a dependency on the internals of libelf's buffer management.

The DTrace previously injected a new symbol table into the output object
by replacing a buffer provided by libelf with a new one. Depending on
how libelf manages its buffers, this can (and does, on FreeBSD) cause a
double free. Instead, add new symbols by adding a new data descriptor to
the symbol table, and inserting the new symbols there.
Add a comment explaining the approach used on FreeBSD.
Introduce some new mfiutil(8) commands related to BBU relearning.

- "mfiutil show battery" now shows info about the next BBU learn.
- "mfiutil start learn" is a new command which kicks of a BBU relearn.
- "mfiutil bbu <setting> <value>" allows the user to set controller
  parameters related to the BBU.
Start adding locking to the NDP code.

- Add a rwlock to protect the prefix and default router lists.
- Include locking assertions and add "locked" versions of a few
  functions (pfxlist_onlink_check() and defrouter_lookup()).
Fix interval-based rotations when -t is used.

When using -t, newsyslog would still try to find the most-recently
archived logfile by looking for <logfile>.0. The clearly doesn't work
because -t means "add a datetime suffix to archived logs." Instead, look
for logfiles matching the datetime format string, and use the mtime of
the newest one to figure out whether a rotation should be performed.
Fix a bug where pkg_add uses the wrong path when setting modes.

This bug is a bit hard to trigger. What happens is that pkg_add extracts
a file but then uses the wrong path to it when trying to use chown and
chmod to change its owner and mode. It happens when

1. pkg_add first fails to rename(2) a file in the packing list (e.g.
   because of EXDEV).
2. pkg_add later changes its cwd.
3. a second file is extracted
4. pkg_add fails to extract a third file.

In this case, the second file won't have its owner and mode set
properly; pkg_add will use last_chdir as the argument to PUSHOUT, but
this incorrect after the first change to the cwd.
Do a general cleanup of watch(8).

- Remove the -i option.
- Simplify the needlessly conservative input buffer management.
- Make sure that the terminal state is restored in error conditions.
- Fix the feature which allows users to switch between TTYs without
  reinvoking watch(8).
Add a document which outlines my workflow for this repository.
Merge branch 'markj-kernel-config' into markj-develop
Merge branch '20130324-clean-ports-modules' into markj-develop
Merge branch '20130324-dtrace-fork-lock-recursion' into markj-develop
Merge branch '20130324-dtrace-local-symbols' into markj-develop
Merge branch '20130324-lib-clean' into markj-develop
Merge branch '20130324-mfi-bbu-learning' into markj-develop
Merge branch '20130324-ndp-locking' into markj-develop
Merge branch '20130324-newsyslog-timelog-mtime' into markj-develop
Merge branch '20130324-pkgadd-incorrect-cwd' into markj-develop