Split Synapse to InputSynapse and OutputSynapse classes, fixed broken outputSynapse pointers
Did some code maintenance