Made all parts dynamically link to libudev.so

Moved libudev.so back to $(rootlibdir) for lvm2 support, and set
it up so that all udev tools link to it dynamically instead of
statically.  To accomplish this the symbol versioning and
hidden-visibility on libudev had to be removed.

Note that libudev-private and libudev-core are still statically
linked to all the tools, so there is some separation there still
but additional space savings could be found if we migrated this
into libudev as well.
Put back symbol versioning for external functions

udisks (and presumably other tools) looks explicitly for certian
symbol versions at link time; a libudev that doesn't have any symbol
versioning will not work with them.  So far, the internal functions
are left unversioned but should probably be versioned with some
sort of 'internal' string instead.
Symbol changes: update from master, mark internal

Rebased against master to get the LIBUDEV_196 symbol versioning, also
marked all other symbols (which used to be local) as LIBUDEV_internal
Modified how libudev installs to rootlib

Now use an install-hook (scraped from Makefile.am in systemd) to change the
install targets from libdir to rootlibdir, instead of setting the install
target directly as rootlibdir.  This will install libudev.so and a static libudev
(if built) into libdir as standard convention suggests.