soma: Initial spec reading and parsing code

The SpecReader class has methods for reading a parsing a
container specification into a ContainerSpec object. Among
other data, this ContainerSpec holds lists of 'Filter'
objects that express which device and sysfs nodes should
be visible inside the specified container.

BUG=brillo:304
TEST=unit tests

Change-Id: If73669791ce402da03085550b9010550a38f6043
Reviewed-on: https://chromium-review.googlesource.com/254484
Reviewed-by: Chris Masone <cmasone@chromium.org>
Commit-Queue: Chris Masone <cmasone@chromium.org>
Tested-by: Chris Masone <cmasone@chromium.org>
14 files changed