Enable network namespace sharing in lxc-start

Right now lxc-start always does one of two things: it creates
a new namespace or inherits it from the parent environment.
This patch adds a third option: share a namespace with another
container (actually: a process).

In some situations this is handy. For example by sharing a network
namespace it is possible to migrate services between containers
without (or with little) downtime.

This patch creates an infrastructure for inheriting any type
of namespace, but only the network namespace is supported for now.
Allow specifying a container by name or pid in --share-net option.
Cosmetic - clean up error message
Describe --share-net in the lxc-start manual
Cosmetic.
Create --share-ipc option
Merge remote-tracking branch 'lxc/master' into share-namespaces
Fix memory leak in pid_from_lxcname and use ns_proc_name in open_ns.
Refactoring - make the option parsing code generic
Make it possible to share UTS namespace
Cosmetic: shorten the options summary in documentation
Merge pull request #92 from majek/share-namespaces

Add options to `lxc-start` to inherit network, ipc and uts namespaces