Trainer added

I added the trainer class so that training methods could now be moved
together into one file, in an effort to make it more modular. As I'm
doing this in a gradual way, things can probably be cut down later on,
as I predict there will not be a lot of use for the get and set methods
contained within the trainer class.
Moved layer calculations

The layer calculation has been moved from a function from the main
program, to being contain within the layer class. The compiler had to be
told that the weights class existed in the Network.h file in order to
avoid a circular dependency issue. Next I need to move the update
weights class to within the weights function.