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

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