Created process node description

ProcessNode describes logical structure of process node. It is supposed
to contain all the information necessary to actually instantiate the
node, as it's purpose is to represent part of the analysis pipeline as
an element of the configuration.
Created skeleton of process pipeline

Interfaces of three major groups of process analysis pipeline are
defined. To be extended later.
Redesign of node configuration class

Renamed ProcessNode -> NodeConfig, and removed redundant, obsolete
fields.
Remove SimpleTransformation

On a second thought, it doesn't really differ from the DataProcessor -
can't think of any distinguishing features.
Made process nodes generic
Added abstract base class for data processors
Added process graph builder

Created factory interface + simple, ServiceLoader-based factory
detection, and creating nodes with these.
Added Gson to pom.xml
Prepare for (de)serialization
Changed NodeFactory to consume NodeConfig again
added serializing and deserializing nodes from file
closing file after writing
Fix for build: prev is now set in each iteration
Merge branch 'process_structure' of github.com:Elthiryel/TWO-ABDMS into process_structure

Conflicts:
	src/main/java/pl/edu/agh/two/abdms/process/ProcessBuilder.java
Added reflection&annotation-based node discovery

Node implementations are now discovered by inspecting classpath
searching classes annotated with @NodeType, which contains all the
information necessary to create such node from configuration object.

Factories are automatically discovered by classpath inspection, can be
explicitly disabled with @DisableFactory.

Factories can still be added by ServiceLoader mechanism.
GraphVisualization component
Adding boxes.
Fixed .gitignore.
Documentation for process management submodule
Merge branch 'process_structure' into development

Conflicts:
	.gitignore
	pom.xml