Add Python code conventions to CODECONVENTIONS.
stmhal: Remove non-ascii character from include file.
inlinethumb: Add wfi, cpsid and cpsie instructions.
py: Tidy up array.array; add more error handling.
py: Tidy up function argument error messages.

We are not as verbose as CPython, and maybe a bit too cryptic sometimes.
py: Add typecode to buffer protocol.

When querying an object that supports the buffer protocol, that object
must now return a typecode (as per binary.[ch]).  This does not have to
be honoured by the caller, but can be useful for determining element
size.
unix: Update to use new buffer protocol interface with typecode.
stmhal: Big cleanup; merge gpio into Pin; make names consistent.

This is an attempt to clean up the Micro Python API on the pyboard.
Gpio functionality is now in the Pin object, which seems more natural.
Constants for MODE and PULL are now in pyb.Pin.  Names of some
classes have been adjusted to conform to CamelCase.  Other
miscellaneous changes and clean up here and there.
stmhal: Update help and comments re gpio changing to Pin.
py: Allow to pass buffer protocol flags to get_buffer helper funcs.
py: Add mp_binary_set_val_array_from_int, to store an int directly.
stmhal: Update ADC, DAC and I2C objects to use new buffer protocol.

Main reason for expanding buffer protocol API was to support writes to a
buffer in ADC module (see read_timed).  With this change you can now
create an array of arbitrary type and ADC.read_timed will store into
that array in the correct format (byte, int, float).  I wonder though if
all these changes were really worth it to support just this function.
Hopefully this enhanced buffer protocol API (with typecode specified)
will be used elsewhere.
Merge branch 'master' of github.com:micropython/micropython