Remove boolean decoding

Booleans are not defined in the bencode specification.
Refactor number and string decoding

 - Change the name of the method to decode numbers to better reflect the fact we're not necessarily dealing with Int32s;
 - Replace the exception-driven error handling with a return-based approach;
 - Move the decoding logic in private methods in preparation for the dictionary and list implementations;