handle ctrl+c and cleanup before exit

Since we need to cleanup actors and miner both with or without panic, I thought it'd be best to just use `defer` without `recover`. I tested this and found that panic or not, defer cleans up as expected. If I'm missing some case where `recover` is required, let me know.

Ctrl+C was being propagated to any spawned processes so strictly speaking the handler here is superfluous. Just thought it would be a good practice to not rely on the caller (`os/exec`?) and clean it up anyway.
I've added another waitgroup in Main to allow waiting for all actors to finish. `a.wg` can only wait on it's own goroutines, so if we want to wait on all actors, we'll need a waitgroup outside Actor.