Restructured memory system, MemoryFactory, and the settings file.

This change removed the standard LineInterface, in favor of the
ByteEnabledLineInterface. All ByteEnabled* classes have dropped the
ByteEnabled prefix with the assumption that writes are always byte
enabled. All chainable memory system elements are LineInterfaces, and
if they rely on a submodule, the submodule is also a LineInterface.

The MemoryFactory is now able to create arbitrary chains of memory
system elements (mainly for caches). I've tested a design with an
L1 and L2 cache and things seemed to work.

The settings file now reflects the chainable memory system design.