Added abstract classes for neurons, fire rules and a concrete implementation for neuron ports

Added a base class from which all neurons will descend.
Added a base class from which all fire rules will descend.
Added the neuron port class which will handle model both the inputs and
outputs of  a neuron.