py/objstr.c: Implement str.rfind() and add tests for it, refactor find_subbytes().

Also got rid of "TODO use a non-exception-throwing mp_get_index" in str_count() and str_find() because they both now use mp_get_index()'s is_slice boolean, so they will no longer be throwing IndexErrors. They can still throw TypeErrors but that's intended.