[AXE-1502] ConsumerThread is not canceled anymore when received a connection error (responsibility of the delegate). An assertion is removed from the consume method.

This change is intended to fix [AXE-1502] (on E1). Newly advertised lessons may not be discovered when network connection changes from really bad to normal. The description of the task on Jira is very detailed and worth reading.
The proper way of fixing this bug should be removing the cancelation of the AMQPConsumerThread at the end of the _handleConnectionError method.
Unfortunately the thread cancelation at that point was fixed while ago by Dmitry Makarenko in commit [2f5fd2d] reporting the description here:

"[AXE-1443] Timing issue is resolved: _tearDown is called from _attemptToReconnect -> delegate is notified about an error via calling amqpConsumerThread:reportedError: asynchronously so the delegate cancel the thread -> in the meantime one more iteration of _consume method happens -> amqp_maybe_release_buffers is called for NULL object.
Now .AMQPConsumerThread is being cancelled while handling an internal error (it doesn't rely only on its delegate anymore)."

Attempts on fixing the bug in a different way have been made but they didn't sound like a proper way to go and solutions weren't proved working.
Therefore a proper solution for fixing both issues has been applied with this commit.

[AXE-1502]: [self cancel] has been removed from _handleConnectionError. The thread is not stopped and the agent remains in a consistent state.
[AXE-1443]: Nevertheless _consume method is called one more time than expected, now it is robust, the assert NSAssert(connection != NULL, @"Connection must be valid.") has been removed and the method returns immediately if the connection is nil;