Fix small problem with defaults cmd on copy job.

Hopefully last occurrence of side effects now that a copy job doesn't
need to have a client specified in its definition.
Fix typo for Vista Compat in make call

Now we call make correctly to use the vista stuff.
Make the build flags setable via a define.
Allow to read from file type devices multiple times.

Up until now the volume reservation logic only allows you to have one
Job access the same read volume. For file type devices multiple readers
should be no problem and most filesystems are even optimized for this
nowadays by allowing multi parallel sequential read streams which are
handled very efficiently.
Reschedule on error caused EndTime to be incorrect
Flush console queued job messages
Cleanup lockmgr.h

Some platforms don't like spaces in #define and other preprocessor
commands so lets cleanup this mess.
Drop last instances of generate_daemon_event()

This is an reminiscent of the old python code. As we replaced it with a
proper plugin interface now everywhere we can drop this old dummy
functions and definitions.
Fix TODO from November 2008.
Add first attempt for support libcephfs stored backend.
First prototype dynamic loading SD backends.

We now store all shared objects used in all SD programs
(stored, btape, bls ...) in a shared library named
libbareossd-<version>.so so the final binaries get much
smaller and share the same code. Next to that we started
the first work on making tape specific code abstracted in
the tape_device class and no longer in the generic device
code. Now we implement the different methods of the different
device classes using virtual methods some are pure virtual
which means that the derived class needs to implement this
method itself and some have a default implementation which the
class can override.

This also contains the first try at making it possible to
dynamically load the different SD backends. The file backend
will always be part of the libbareossd.so but the tape and
the different cloud storage backends are dynamically loadable
using the same technique as what is used for loading the
different catalog backends. This means that we can distribute
the different storage programs without the need to have all
kind of dependencies on the different cloud backend we support
now.

As part of this big refactoring we removed the vtape code which
doesn't serve a real purpose anymore in Bareos as there are much
better alternatives (MHVTL and QuadstorVTL) nowadays and we should
carry on unmaintained code. The alternatives also see steady
development while vtape hasn't been updates in ages. Also these
alternative VTL emulators implement a true autochanger, encryption
and much more like personality support for all major brands in
real tape hardware which also means we test our tape code much
more thoroughly.
Initial commit for TapeAlert support.
Initial code commit for keeping statistics in the SD and transfer to DIR.
Some preliminary work for allowing to have audit events.
Bump version date.
Use a special backend dir to store both catalog and storage backends.

We want to store the catalog and storage backends in a special dir so
they are not in any lib directory as they are not really shared
libraries but shared object with some very specific entry points.

The code is now so that by default the configured backend dir set at
compile time is set as default and the user can specify additional
directories that should be searched for backend in the configfile of
both the director and the storage daemon. The code checks if the wanted
backend is located in one of the specified backend directories and it
loaded from the first directory it is found in.
Rebuild configure and config.h.in
Drop default value from alist when first real value is parsed.
Support and document catalog and storage backend dir