make synapse abstract , add to implementations of abstract class
let factory use implementations of Synapse
now each layer knows about next one to run it
edit csproj , now builds
add run method to neural network
add rule to Output
now weights may be less than zero