Devices error injection

https://github.com/docker/libcontainer/issues/178 requests testing of error paths when external dependencies return errors. This pull request starts to implement this in devices.go.

The system interfaces used by devices.go are os, io/ioutil, and syscall. The syscall usages do not return errors. The usage of os is just one function call (os.Lstat) and the usage of io/ioutil is one function call (ioutil.ReadDir) from two call sites.

There are two commits, the first dealing with os.Lstat and the second dealing with ioutil.ReadDir.

These are very simple tests covering trivial cases, but should establish a pattern that can be used elsewhere.