tools - Easier incremental backups for hammer-backup.sh.

- If 'auto' is specified with option -i, then the latest full backup will
  be used. This allows easier backups via crontab for example.
- Fix a couple things in README.
tools - Add option -k to hammer-backup.sh

- This new option goes through all metadata backup files in the
  specified backup directory and performs a checksum on them.
- While here fix usage.
tools - Reorganise a bit info messages in hammer-info.sh

- Also silence errors in md5's output.
- Remove some info that is already on the README
tools - Fix a couple mistakes.

- Don't write metadata file on dry-run mode for hammer-backup.sh
- Fix a corner case where hammer mirror-read does not find any changes
  and thus provides no endtid. Reused begtid for the metadata file
- Exit and remove the incremental file generated if we can't figure out
  which entid has to be written to the metadata file
Start porting ucom.

* import serial.h from freebsd
* comment almost everything out in usb_serial.c
* make the whole thing compile
usb4bsd: port usb_serial
usb4bsd: Implement kqfilter for usb_dev
usb4bsd: use generated usbdevs.h

replace respective includes and fixup makefiles
usb4bsd: work on usb_serial.c
usb4bsd: usb_dev kqfilter

* implement a working kqfilter
* integrate some FreeBSD patches
usb4bsd: Fix some warnings in usb_serial.

* Fix two cases where sc was passed to ucom_modem() but sc->sc_tty
  should have been.

* Comment out a debug variable.

* Use #if 0 consequently and add a few more.

* Indent fixes.

OK'd-by: profmakx
usb4bsd: Fix typo in last commit.
usb4bsd: Allow to build serial drivers into the kernel too.
usb4bsd: Adjust 'make upgrade' for the serial driver modules.
usb4bsd - Fix poll/select/kqfilter issues with ums and usb_fifo*() API

* Fix handling of f->flag_isselect.  It was being improperly cleared on
  event notification.  It can only be cleared when the knote is removed.

* Call f->methods->f_start_read() unconditionally in usb_filter_read().
  Conditionalizing on f->queue_data will fail with devices (aka ums) which
  allocate the buffer independantly of starting the interrupt xfer.

* Call usb_fifo_wakeup() in mbuf re-queue cases to handle races when
  the read() code pulls an mbuf off the queue and then puts it back on.

* Fix bugs in UMS - Keep track of whether the interrupt transfer is running
  or not and do not re-submit or re-stop the transfer unconditionally.