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()).
Add the kernel config for my laptop.
Fix some issues related to the -S option added in "enhanced watchdog."

- Invert the meaning of the -S option.
- Document the -S option.
- Don't explicitly carp to stderr unless !do_syslog is true (syslog(3)
  already does this).
- Fix some style bugs.
- Take into account the amount time spent in syslog(3) (if any) when
  calculating the sleep interval.
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.
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).
Don't clean ports modules if NO_KERNELCLEAN is defined.
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.
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 lock recursion that can happen when a fasttrap victim process forks.
Start a workflow document to document my attempts to manage this repo.
Merge branch '20130319-clean-ports-modules' into markj-develop
Merge branch '20130319-dtrace-fork-lock-recursion' into markj-develop
Merge branch '20130319-dtrace-local-symbols' into markj-develop
Merge branch '20130319-mfi-bbu-learning' into markj-develop
Merge branch '20130319-ndp-locking' into markj-develop
Merge branch '20130319-newsyslog-timelog-mtime' into markj-develop
Merge branch '20130319-watch-cleanup' into markj-develop
Merge branch '20130319-watchdogd-syslog' into markj-develop
Merge branch 'markj-kernel-config' into markj-develop
Add a comment explaining the approach used on FreeBSD.