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

The code contains a multi-layer ANN implementation, 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.

Next to two automated tests, an example program is also included, which also contains a graphical representation.
The convergenceTol is used by the LBFGS algorithm. So the convergenceTol is taken from the ArtificialNeuralNetwork header and serves as input to the LBFGS algorithm. (setConvergenceTol accesses the LBFGS class, not the ArtificialNeuralNetwork class.)