py/obj: Issue a warning when str and bytes objects are compared.

Something like:

if foo == "bar":

will be always false if foo is b"bar". In CPython, warning is issued if
interpreter is started as "python3 -b". In MicroPython,
MICROPY_PY_STR_BYTES_CMP_WARN setting controls it.
diff --git a/py/obj.c b/py/obj.c
index 9efa0f0..db4dd77 100644
--- a/py/obj.c
+++ b/py/obj.c
@@ -192,10 +192,16 @@
             return mp_obj_str_equal(o1, o2);
         } else {
             // a string is never equal to anything else
-            return false;
+            goto str_cmp_err;
         }
     } else if (MP_OBJ_IS_STR(o2)) {
         // o1 is not a string (else caught above), so the objects are not equal
+    str_cmp_err:
+        #if MICROPY_PY_STR_BYTES_CMP_WARN
+        if (MP_OBJ_IS_TYPE(o1, &mp_type_bytes) || MP_OBJ_IS_TYPE(o2, &mp_type_bytes)) {
+            mp_warning("BytesWarning: Comparison between bytes and str");
+        }
+        #endif
         return false;
     }