Refactored ComponentLoader `load` method to allow extensibility in component instantiation.
Fixed issue default values halting WirePattern processing; resolves #212.

- InPort has a shiny new hasDefault method to identify if it has a default value.
- InPort no longer queues handleSocketEvent calls in sendDefault method.
- Component has a new startup method that calls each inPort's sendDefault method if available.
- Network attaches a socket to all defaulted inPorts similar to initials.
- Network initializes each component upon network start.
network: add isStarted() method
Removed `createComponentWithGetComponent` and `createComponentFromFactory` functions; brought their contents into `createComponent`.
Added error should a component type be invalid.
Renamed `startup` to `start` on Component.

 - Added defensive check on started state.
 - Verification of port attached state in Network.
 - New unit tests to support started state in Component.
Merge branch 'master' into feature/#212
Merge pull request #209 from hayesmg/master

Refactored ComponentLoader `load` method to allow extensibility in compo...
Merge pull request #214 from djdeath/network-is-started

network: add isStarted() method
Merge feature/#212 into master and applying latest commits.
Renamed `startupComponents` to `startComponents`.
Clear queue on shutdown, refs #218
Don't unset load
Merge pull request #217 from hayesmg/master

PR to resolve #212