Fix #93 : Unify parsing of text strings into Rational numbers

 * Copied scientific notation parsing to operator>>
 * Set failbit of std::istream when logical parsing error occurs
 * Call operator>> from lexical_cast<> on istringstream created
 * Throw exception in lexical_cast when the stream does not end after
   Rational is extracted