Add remote logging for Tutor

Add logs in the Tutor functions to write logs to a remote
webserver for the following events:
  1. Unit becomes ready
  2. Unit starts running
  3. Unit is completed
Fix bug: Tutor enters RUNNING state without input

Fix a bug in the Tutor object that causes it to enter RUNNING
state soon after it enters READY state even if the user has not
provided any input. As a result, the READY status is never
displayed in the status pane. Code the intended behaviour, i.e.
the Tutor must enter RUNNING state only after the user enters an
input. The READY status must be displayed after a new unit is
set or reset.