Added an implementation of hamburger nodes

Code is a little messy and not very configurable
should be cleaned up before merging into master
Merge branch 'master' into hamburger-nodes
Added the ability to add concepts by clicking

Code is incredibly messy
We need to structure the knowledgeGraph object a little better
Refactored code to neaten up object structure

Still some scoping issues that could be made neater
Added transistions for changes in the graph
Added the ability to add concepts after concepts

Click the lower semi-circle of a concept and new concept,
dependent on the clicked concept, will be created
Added the ability to change concept labels

The formatting is quite ugly at the moment
sizing and position can be tweaked to fix this

SHould also think about what happens if names longer than the original are entered
Label replacement uses previous name by default

Previously the input for label replacement was blank
Fixed label replacement input value

Now uses the concept label instead of the concept id
Split out the method to add dependencies

Makes the API a bit more flexible
We should think about consistency of interfaces for
addConcept and addDependency methods
Added dragging to join two concepts

Drag from the entry point to add a dependency to the concept
Drag from an exit point to add the concept as a dependency
Added some more tests for knowledge graph creation

Tests for knowledge graph creation and adding concepts
These tests are currently broken as we aren't returning the knowledge graph
Added unit test for basic plugin API.
Fixed test code

Added beforeEach calls instead of assuming things run in order
Fixed knowledgeGraph.create() called with no param

knowledgeGraph.create() no longer breaks if called with no arguments
Added ids of nodes to svg elements
Made plugin API tests pass.
Small tweaks.
Merge branch 'plugins' into interactive

Conflicts:
	src/knowledge-graph.js
Fixed case when no graph object.