Made "dynamic" allocation of a layer.

Actually pulls from a static pool of weights, nodes, and layers.
Allowed creating nodes with no weights.

This is useful for the input test layers.
Now processing the command line arguments.
Allowed for a larger number of layers.

The test inputs will need their own layers of neurons, albeit
without any weights.
Now have a way to load and persist a network.

Uses a definition file currently. Will also use an input file for
testing and running inputs in the future.
Moved files to directories to clean up workspace.
Fixed the makefile to build everything with new directories.
Finished code to load inputs values and test them.
Fixed the initial setting of weights.

The weights were too small, so the backpropagation was basically useless.
Got the XOR function working in only a few hundred iterations.
Now only persist weights when updated.
Merge branch 'features/parameterized-run' into development