Match return value to type in available()
Fix idle level when initializing a inverted SoftwareSerial

Previously, when SoftwareSerial was initialized, it would always be set
to an idle level of HIGH, even when inverted logic was enabled. Once a
byte is transmitted, the idle level gets correctly set to LOW instead.
This commit makes sure that the idle level is correct directly after
initialization already.

This fixes #1361.
Merge pull request #2090 from jenscski/master-fix-1361

Bug in SoftwareSerial when using inverse logic
Merge pull request #2057 from zfields/patch-1

Match return value to type in available()
Backported Print class from ide-1.5.x branch

Close #1951