Automatically check for gmake on *BSD.

If ./configure fails to detect 'make' as GNU Make, it will check next to see if
'gmake' is installed and is a viable GNU Make version.
Fix includes for OpenBSD.

In OpenBSD, arpa/inet.h requires some additional includes first.
I pulled a recipe suggested by Google for this.  Also, I moved
the Python.h after the assert.h include.  I can't explain why,
but I was getting the following errors without the move.

_helpers.c: In function 'bup_xutime_ns':
_helpers.c:842: warning: implicit declaration of function 'utimensat'
_helpers.c:842: error: 'AT_FDCWD' undeclared (first use in this function)
_helpers.c:842: error: (Each undeclared identifier is reported only once
_helpers.c:842: error: for each function it appears in.)
_helpers.c:843: error: 'AT_SYMLINK_NOFOLLOW' undeclared (first use in this function)
error: command 'cc' failed with exit status 1
Refined acl/xattr handling in compare-trees.

rsync on OpenBSD correctly reports that it does not support ACLs and xattrs.
The new code checks for each feature separately as well as keeping the
exception to ignore Cygwin and OSX when they claim ACL support.
Refined metadata handling for OpenBSD.

* Avoid warning that OpenBSD doesn't support POSIX.1e.
* Use socket.socket instead of os.mknod for creating a socket
  object.  I don't see this option listed in the
  documentation (http://docs.python.org/2/library/os.html).  But
  the workaround for Cygwin passes the test.
* Suppress rdev fields from detailed attributes display except
  for character or block devices.
Refine t/test-meta.sh for OpenBSD.

* Disabled several 'set -x' directives to make it easier to see
  the test results.
* Added a conditional to use BSD 'touch -t' instead of Linux
  'touch -d'.
* Use BSD-compatible 'cp -pPR' instead of Linux 'cp -a'.