maint: avoid some syntax-check test failures

* cfg.mk (_img_regexp): Exempt two VC'd image files from syntax
check rules that look for trailing blanks and empty lines at EOF.
* sh/hivexsh.pod: Remove trailing spaces.
build: update gnulib submodule to latest
tests: avoid spurious failure when run in non-srcdir build

* ocaml/t/hivex_120_rlenvalue.ml: Avoid spurious failure when the
test is run in a non-srcdir (aka VPATH) build.  I.e., open a
$srcdir-relative name, rather than assuming $srcdir is ".".
maint: remove unnecessary mkdir -p

* ocaml/Makefile.am (install-data-hook): Remove unneeded mkdir -p.
It's job is handled by the very next mkdir -p.
Fixed checks for libpython features

The python3.1 package shipped with Debian/squeeze does not have the
'mu' suffix that was assumed before.

RWMJ: This was originally formulated for libguestfs, but the same
patch applies to hivex and fixes the following bug reported against
Gentoo by Joshua Rich:

https://bugs.gentoo.org/show_bug.cgi?id=433467
Add ./configure --disable-ocaml option.

The configure.ac code is copied from libguestfs.
Add ./configure --disable-perl option.

The configure.ac code is copied from libguestfs.
Add ./configure --disable-python option.

The configure.ac code is copied from libguestfs.
Fix detection of Ruby C extensions library.

The configure.ac code is copied from libguestfs.
patch for read support of "li"-records from "ri" intermediate

Richard,

Thank you for creating the hivex-library. Studying your source code helped
me a great deal to better understand the internals of the Windows Registry.

However, while I was browsing a real-world SOFTWARE-hive (XP, SP3) I
could not browse to the '\Classes' key. Instead I got this (debug)-message:

    get_children: returning ENOTSUP because ri-record offset does not
point to lf/lh (0x49020)

I tracked this issue down and I discovered that the intermediate
"ri"-record may not only contain offsets to "lf" and "lh" but to
"li"-records too.

Attached is a patch against hivex.c v1.3.3 that recognises
"li"-records referenced from "ri"-records. For me this fixed the issue
with browsing the '\Classes' key.

Note that I have not fixed the related problem of rewriting
"li"-records when inserting a new subkey or deleting an
existing one. This sure would cause problems when I were to
add/delete a subkey to/from '\Classes'.

RWMJ:
The original patch submitted is here:
https://www.redhat.com/archives/libguestfs/2012-March/msg00035.html
Changes made:
 - Removed commented-out code for writing.
 - Re-added some checking code to reduce the delta of this patch
   to the previous code.  The checks can be removed in a separate
   patch if necessary.
Version 1.3.7.
regedit: Update unix2dos command in man page (thanks Skippy VonDrake).
ocaml: Stable dependencies.
sh: Don't leak 'data' along error path (found by Coverity).
sh: Don't leak 'data' when printing (found by Coverity).
Rewrite and simplify hivex_node_set_value.

Coverity pointed to multiple use-of-uninitialized-value errors in this
function.  However the function was incredibly hard to follow, so I
couldn't really tell if this was a real problem or not.  In any case,
I rewrote the function to be more sane.
arm: Prevent cast-align warnings.

The implicit alignment of char* is 1 byte, so on ARM we get a
cast-align warning whenever we try to cast this to a larger type
(eg. casting to uint32_t).

The implicit alignment of void* is whatever malloc returns, and so
this can be cast to any type.

The cost of this is that we have to add (char *) casts all over the
code, but this seems unavoidable.

Thanks: Leif Lindholm, Peter Robinson.
python: Make class derive from 'object'.

For an overview, see this question and the links from there:
http://stackoverflow.com/questions/4015417/python-class-inherits-object
ruby: Use updated rake package names, but allow fallback to the old names.
automake: Force serial-tests.

In automake 1.13, parallel tests is the default.