Rework request body parsing to raise exceptions

Also:
 - Use bytearray() for the cache in Base64Decoder
 - Move parse_options_header to hoboken.objects.http
 - Update tests