async/await mqtt

The current implementation waits on everything, we should move the async/await for (way) cleaner code.

Since this would break API, I'm adding this to 1.0.0