modffi: Mark 'p' type spec deprecated, replace with 'P'.

'p' in struct module is "pascal string". 'P' is void*.
modstruct: Support 'q' & 'Q' type codes.
modstruct: Fix .calcsize() to account for struct type/alignment.
obj.h: Typo fix in comment.
objstr: Init hash in mp_obj_str_builder_start() to 0.
modstruct: Initial implementation of struct.pack().
stmhal: Update for mp_binary_get_size() refactor.