Add more documentation, improve .clear

Signed-off-by: Eli Skeggs <eskeggs@globesherpa.com>
Add utils.inherits, utils.Emitter, utils.TimeoutError

Also remove unnecessary utilities

Signed-off-by: Eli Skeggs <eskeggs@globesherpa.com>
Add additional documentation to run method, fix completion abort state

Signed-off-by: Eli Skeggs <eskeggs@globesherpa.com>
Add optional timeout handling

Signed-off-by: Eli Skeggs <eskeggs@globesherpa.com>
Fix custom error constructors

Signed-off-by: Eli Skeggs <eskeggs@globesherpa.com>
Add stall detection, improve timeouts and add events

Signed-off-by: Eli Skeggs <eskeggs@globesherpa.com>