Parse server and store base server information

For lack of a better term, we will call the "thing that holds a
motherboard" the base server and keep track of the basic asset
information (description, product, vendor).  Description is less
likely to be useful, but it is easier to include it than not.  Unlike
cpus/nic/disks there is only one bit of basic server information (aka
it's not a Seq).

(Note that all dependencies do not yet compile, but this is the most
self contained unit for just the parsing code.)
Tell helpes about lshw server base changes

This is done via findOrCreateFromName instead of extending the
existing enum (which is not feasible).  This limits the abilty to
check things like "is this a valid id", since they are now dynamically
created.
Include server base information in overview and hw detail

Displays empty if unknown.
ensure that new basic lshw fields are in the DB at start, and thus
displayed in the default search index
de-nullification
search dropdowns for base vendor/product
sadly some vendors will append unique strings to the product id,
making a dropdown inappropriate
correctly handle pre-existing cases with no ServerBase
isEmpty for ServerBase, hide from web if empty
explicitly include BASE_DESCRIPTION at negative priority
Merge pull request #77 from cburroughs/server-lshw

extract server product/vendor information with lshw