Harness spec unit test break up

Split up the large Harness.spec.js into multiple files in a sub
directory.
SocketFactory and delete socket

Refactored the socket building into a factory class so that block
factories did not have to know much about the creation of sockets. For
future ease, the sockets can be be built with a nice-and-easy-to-read
context. An example context is provided. Added some unit tests.

Also added a dropdown on the generic tab content properties. This is for
later, the functionality doesn't exist to make any property into a
socket. I had to get the delete/create of socket sorted first.