Added array for weight changes for training

Added array deltaWeights to neuron data structure to hold the
required weight changes during training. In addition, the code for
initialisation, allocation and deallocation of the array was included.

This is in preparation for the training function
Implemented untested training functions

Implemented some functions to deal with network training. These
need to be tested on some data to make sure they work.

This testing should be performed before any more code changes occur.

The exception to this is compiler errors, or implementing the printig
options for the training function.
Library tested with XOR problem - passed

Needed to fix some problems with array overflows, and incorrect indices.
Network tested on XOR problem and results matched after 2000 epochs
as expected.

To be completed: user friendly testing and running functions (i.e.
abstract the single pass functions so process is automatic)