dev_ns: introduce device namespaces

Introduce device namespaces:

The idea with a device namespace comes from the Android-Cells project where
namespaces are utilized to create a container-like environment on Linux, only
where there's a notion of an 'active' namespace and all other namespaces are
inactive. In such a case only processes residing within the active device
namespace should communicate with actual devices, where processes inside
inactive containers should be able to communicate gracefully with the device
driver, but not the device.

Changelog:
[16-Aug-2013] v1 - initial version

Change-Id: If6a51a507a6a1efdf7af18b9b7faf363eac70e27
Signed-off-by: Oren Laadan <orenl@cellrox.com>
Signed-off-by: Amir Goldstein <amir@cellrox.com>