Fix:SIM900Client::available() return wrong code
Fix:SIM900Client::available() return wrong code

SIM900Client::available() return -1 on wrong state (not ready).

Semantic of available should return the number of bytes available,
when no bytes are available then it should return 0.
PubSubClient check (client->available), when it is -1 it would
wrongly consider as true.

shanipribadi/sim900client,vwochnik/sim900client