veritysetup: Remove code as now in cryptsetup.

The veritysetup code has moved to the cryptsetup package.
  http://code.google.com/p/cryptsetup/
gitignore: Ignore files ending in ~
Sync filesystem for thin snapshots

Add missing lockfs option when suspend origin, before thin volume
snapshot is created
systemd: Add Documentation references

These documentation references show up in "systemctl status" output.
cmirrord: add test for closedir() and close()
cmirrord: fix cut&paste
cleanup: use struct initializers instead of memset

No need to call memset if we the language can do that.
headers: add some __attribute__ instrumentation

Use some malloc and strdup instrumentation and warning attributes
and standard systems headers.
cmirrord: add missing checks for kernel_send

Log errors if kernel_send fails.
kernel docs: Refresh kernel target documentation

Update the packaged copy of the in-kernel target documentation files.
Adds dm-verity, updates thin provisioning and makes minor corrections
elsewhere.
cleanup: replace memset with struct initilization

Simplifies the code, properly detects too long socket paths,
drops unused parameter.
fix: use 64bit math for reserved memory

If the user specifies number in the range of [4G/1024, 4G>,
the used value would wrap around (32bit math).
So keep the math 64bit.

Note, using such large lvm.conf values is pointless with lvm2.
fix: limit preallocate stack size

If the user would set bigger reserved stack size then what
is allowed in resources (ulimit -s), then he would get coredump
So avoid coredump and ignore creation of such large stack size
(lvm should work properly, with just 64KB, so the option could
be eliminated).
lvmetad: check for fid existance

Fail to update lvmetad with proper log error message.
thin: fix lvconvert error path NULL dereference

For printing the name, use given command line parameter.
cleanup: use dev_t type
dev-io: open device read-only to obtain readahead value

There's no need to have the device open RW while obtaining the readahead value.
The RW open used before caused the CHANGE udev event to be generated if the
WATCH udev rule was set for the underlying device (and that is normally the
case both for non-dm and dm devices by default).

This did not cause any problems before since we were not interested in
*underlying* devices. However, with upcoming changes (autoactivation), we're
watching for events on underlying devices marked as PVs and such a spurious
event could cause the autoactivation code to be triggered. So when trying
to deactivate the volume, we could end up with immediate activation just after
that because of the CHANGE event originated in the WATCH udev rule since the
underlying device was open RW during the deactivation process.

Though maybe a better solution would be to completely filter such spurious
events out of the autoactivation process somehow, it's still useful if there
are as least spurious events generated as possible in the system itself.
configure: run directory configuration cleanup

There were several hard-coded values for run directory around the code.
Also, some tools are DM specific only, others are LVM specific and there
was no distinction made here before. With this patch applied, we have
this cleaned up a bit (subsystem in brackets, defaults in parentheses):

          [common] configurable PID_DIR     (/var/run)

 lvm      [lvm]    configurable RUN_DIR     (/var/run/lvm)
                   configurable locking dir (/var/lock/lvm)

 clvmd    [lvm]    configurable pid file    (PID_DIR/clvmd.pid)
                   socket                   (RUN_DIR/clvmd.sock)

 lvmetad  [lvm]    configurable pid file    (PID_DIR/lvmetad.pid)
                   socket                   (RUN_DIR/lvmetad.socket)

 dm       [dm]     configurable DM_RUN_DIR  (/var/run)

 cmirrord [dm]     configurable pid file    (PID_DIR/cmirrord.pid)

 dmeventd [dm]     configurable pid file    (PID_DIR/dmeventd.pid)
                   server fifo              (DM_RUN_DIR/dmeventd-server)
                   client fifo              (DM_RUN_DIR/dmeventd-client)

The changes briefly:
  - added configure --with-default-pid-dir
  - added configure --with-default-dm-run-dir
  - added configure --with-lvmetad-pidfile
  - by default, using one common pid directory for everything
    (only lvmetad was not following this before)
udev: udev rules cleanup

Remove executable path detection in udev rules and use sbindir that
is configured, but still provide the original functionality by means
of 'configure --enable-udev-rule-exec-detection'.

Normally, the exec path for the tools called in udev rules should
not differ from the sbindir used, however, there are cases this is
necessary. For example different environments could be assembled
in a way that these path differ for some reason (distribution installer,
initrd ...).

This functionality is kept for compatibility only. Any environment
moving the binaries around and using different paths should be fixed
eventually!
configure: autoreconf