Add libmar to build update tools to the repo.

This adds code from Mozilla to build a command line mar program and the
libmar library that it uses.  This code is now dual-licensed under the
MPL 2.0 and GPL v2 or later.

We also add our own version of mbsdiff using a modified version of Colin
Percival's FreeBSD-licensed bsdiff program.  We also copy the crc32 code
from Mozilla's updater.

Add libmar as "subpackage" in cofigure.ac.

Add AC_CONFIG_SUBDIRS macro call for Open-ILS/xul/staff_client/external/
libmar so that our update tools will get configured and built when
Evergreen is built.

Modify make_updates.sh for our update tools.

Instead of downloading mar and mbsdiff from Mozilla.org's servers,
we check if they exist in Open-ILS/xul/staff_client/external/libmar/tool
and if not we build them.  They should be there already.

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
Fix segmentation fault in mbsdiff and fix crc by linking with libbz2.

Doh! I typed memcpy when I really wanted memset.

This does not actually introduce any new dependencies.  Evergreen
updates/installation already requires bzip2.  If bzip2 is present,
then libbz2 is present.  We don't need libbz2 headers, just the
library itself for a single data structure used in crc32 calculation.

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
Add release notes for the new updates tools.

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
Add new dependency on libbz2-dev(el).

Our own mar tools add a build dependency on libbz2.  The easiest way to
make sure this is there seems to be to install libbz2-dev(el).

Also, update the release notes to reflect the new dependency.

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>