Network: add debug support to catch exception generated by processes
Merge pull request #253 from djdeath/process-errors

Network: add debug support to catch exception generated by processes
Validate port names, fixes #256
Fix getSource for subgraphs
Fix port display in 'noflo list', refs #172 #136
Show the offending port name
Update allow rules to follow original conventions but ensure casing
Merge branch 'master' of github.com:noflo/noflo
Basement for request processing in WirePattern

The following changes in WirePattern are introduced by this commit:

- If a `RegExp` instance is passed to `group` option, WirePattern
  merges input streams by outer groups matching that regexp. This is
  handy e.g. for matching requests by UUIDs, ignoring other groups.
- When `group` option is used, the groups passed to the `proc`
  function only contain groups common for all inputs (intersection
  of groups). Before it passed groups for the last inport to receive
  data.
- `component.dropInput(key)` method is provided to drop data manually
  by request key. Useful when merging requests by ID and dropping
  them on error.
- Garbage Collector is built into WirePattern to protect from memory
  leaks when using the `group` option. WirePattern maintains buffers
  for incomplete data tuples and Garbage Collector removes buffered
  requests which stay incomlete too long. There are 2 new options to
  customize Garbage Collector's behavior:

  * `gcFrequency` sets per how many new data packets the GC should be
    invoked again (default is 100)
  * `gcTimeout` sets how many seconds an incomplete request should be
    pending in WirePattern's buffers before GC wipes it out (default
    is 300)