Revamp qstrs: they now include length and hash.

Can now have null bytes in strings.  Can define ROM qstrs per port using
qstrdefsport.h
diff --git a/py/objexcept.c b/py/objexcept.c
index 2e145ee..c91b71d 100644
--- a/py/objexcept.c
+++ b/py/objexcept.c
@@ -7,7 +7,7 @@
 #include "nlr.h"
 #include "misc.h"
 #include "mpconfig.h"
-#include "mpqstr.h"
+#include "qstr.h"
 #include "obj.h"
 #include "objtuple.h"
 
@@ -100,7 +100,7 @@
         va_start(ap, fmt);
         vstr_vprintf(vstr, fmt, ap);
         va_end(ap);
-        o->msg = qstr_from_str_take(vstr->buf, vstr->alloc);
+        o->msg = qstr_from_strn_take(vstr->buf, vstr->alloc, vstr->len);
     }
 
     return o;