Refactor d3 files and code

The first thing I did in these change was restructure the d3 graph code.
Most of the restructuring was in html, js, and css. With these changes
the d3 file structure resembles a web server. Here's roughly what it
looks like:

resources/
d3/
*.html
js/
css/

This structure should make it a little easier to update the d3 code
since we can now reference shared code. Keeping the html, js, and css
separate makes things a little easier to find, read, and write. Also,
there's no longer a need to do a manual copy paste of json when you want
to test out your changes. graphData.js holds on to test graph data by
default and is updated at runtime to contain the real json.

Ok, so that's the file structure. I also changed the way we render d3
graphs. Now there's a main page that dynamically renders the d3 graph
you choose. I think this will make it easier to add new types of layouts
in the future.

So that's the web part of these changes. I also made changes in java.
Since I updated the file structure I needed to update the way we copy
and load the html and semsim json. There were 2 main changes. Instead of
copying and loading a single file we now copy and load a directory of
files. The second change has to do with how we load the semsim json. As
I mentioned earlier we copy the json to graphData.js.

I still want to go through cluster.html and forceDirected.html and do
some refactoring. That can come later as needed.