Fixing bug #26.

Done event was not being emitted if there was an active prompt. The done
event is now emitted as the very last line of code that shotgun runs
after an execution. It will check if the command module that was invoked
is asynchronous and if not then it will fire the done event. If it is
async then the done event will be emitted inside the callback.