[spark-2352] Implementation of an 1-hidden layer Artificial Neural Network (ANN)

The code contains a single layer ANN, with variable number of inputs, outputs and hidden nodes. It takes as input an RDD vector pairs, corresponding to the training set with inputs and outputs.

A test program is also included, which also contains a graphical representation that can be switched on using the "graph" parameter. Without it, the summed squared error over the testing set is displayed.