Show a % when a volume is loaded in a drive.

For a status slots print a % when the volume is loaded into
a drive.

So now we have:

'@' - import export slot
'*' - data in backup catalog doesn't match
'%' - volume is loaded into a drive.
' ' - nothing special with volume just in slot and catalog info matches.

Signed-off-by: Marco van Wieringen <marco.van.wieringen@bareos.com>
Add running jobs scheduled time in director status

When a job fails and 'Reschedule On Error' is set to yes the job
would be rescheduled. Now when checking status of director with
bconsole it also shows what time it was rescheduled to.
Merge pull request #3 from chrfle/rescheduled_time

Add running jobs scheduled time in director status
Make compression context part of generic JCR.
Don't needlessly link binaries to compression libs.

When we link the compression libaries into the shared library
we no longer need to link the binaries against them when we
use dynamic linking. When you want static linking then you do
need to specify the compress libraries needed also for the
binary as it copies the object code into your binary.
Rebuild configure.
Cleanup possible due to abstracting compression code.

Now that the compression code is mostly in the shared library we no
longer need to include zlib headers etc all over the place as all
code accessing any compression specific interface is abstracted now we
can cleanup the header files and the Makefiles. This way we also don't
leak to many global stuff into our namespace which will never be used
anyway.
Corrected case of Job table name

Signed-off-by: Marco van Wieringen <marco.van.wieringen@bareos.com>
Fix some logic errors in NDMP backup and restore.

We still have a problem when you restore two NDMP streams
part of one backup. The solution for now is to first restore
the first full backup and then the second one.
Implement auto inflation/deflation in the storage daemon.

This code implements automatic deflation (compression)
of data read or written to a device and automatic inflation
(uncompression) of data written or read from a device.

This allows you to do the following:

- Compress data on the FD send it to SD and write it to the device uncompressed.
- Send data uncompressed from the FD to the SD and write it to the device compressed.
- Read compressed data from a device and send it as uncompressed data to the FD.
- Read uncompressed data from a device and send it as compressed data to the FD.

Fixes #187: Implement auto inflation/deflation in storage daemon.
Implement NDMP enhancements.

Currently we only allow all or nothing restores for the NDMP backup and restore.

This code implements the first set of changes needed to perform filelevel
based restore of NDMP backups.

The following things are implemented:

- Store the FHDB NDMP data into the backup catalog.
- Allow the user to select the info on restore
- Pass the file selection from the NDMP DMA to the NDMP data agent so
  it knows what to restore.

As we currently don't allow seeks on the NDMP stream with the NDMP tape agent
implemented in the Bareos Storage Daemon we cannot add the so called DAR
(Direct Access Recovery) but as part of this storing of the FHDB information
in the backup catalog we should store the DAR offset too so when we either
support native NDMP tape agents (currently not implemented) or when the Bareos
Storage Daemon allows seeking in the NDMP stream we have that information.

This code works when using the restore functions in bconsole. Restores via
the BVFS method currently don't work and need more work. This means that restores
via BAT don't work as that uses BVFS.

Fixes #188: Implement NDMP enhancements.
Never memset the dcr->rec record.

In a try to not use a local DEV_RECORD struct we started using the
dcr->rec for everything. But this DEV_RECORD is allocated using
new_record and as such has memory allocated as its data pointer
so we should no longer memset the dcr->rec pointer othewise we
clear the data pointer.
Tweak code so we don't loose the record data pointer.

By using the dcr->rec we should preserve the rec->data pointer
as new_record allocates memory for that and we overwrite it
in the append data and ndmp write function. Also as the dcr->crec
always has a data pointer pointing to a converted internal buffer
we don't need a record there with a data pointer allocated so added
an extra argument to new_record that signals that we don't want to
have a data pointer allocated. The default of this argument is true
(protos.h) so we don't need to change all calls of that function.

Also fixed some warnings from the compiler.
Revert "Tweak code so we don't loose the record data pointer."

This reverts commit 7d467d97befbda7439ab5d26a4a4c7aeda2497c8.
Revert "Never memset the dcr->rec record."

This reverts commit b4960576d5bec7d02f25c89967cfbf9b52c67a0d.
Revert "Implement auto inflation/deflation in the storage daemon."

This reverts commit 04759509766b6a072fb524334511d7d0ccf47c06.
Tweak README.md for new branches.
Tweak branch naming.
Import external changes for manpages and unused flags.
Add missing bareos-fd cmdline flags.