Changed how startup_commands are calculated, added PaloAlto.
Beginnings of reworking of Generic vs. AsyncPTY SSH channels

- Most vendors support async/pty with little problems
- This will become the new default
- New execute helper: trigger.twister.execute_async_pty_ssh
- New error helper: trigger.twister.has_juniper_error
- Arista now uses execute_async_pty_ssh
- A NetScalerCommandFailure will now just be a CommandFailure
- Prompt patterns moving to a dictionary so they can be bound to the NetDevice
  object when NetDevices is populated