Added synchronization for exit of inputs.
remove self.inputs array and make all Processes consistent

- Other non-EnsembleProcess processes were not finishing the same way which
  forced us to handle them seperatly (self.inputs). This is now fixed.
Merge pull request #77 from Hudon/input-exit-sync

Added synchronization for exit of inputs + James' normalization of synchronization.