Sender states

Adds Sender object with ready, sending and disabled states. Coordinates the delivery of queued records over an ExecutorService. Prevents excess shutdowns, restarts and execute calls on the ES. ES now stays shutdown until needed, freeing a thread.