Added support for extended CAN frames.

Hi.

I have written some code to add support for exended CAN frames. The selection of which frame type to use is done when the CAN object is created e.g.
bus = pyb.CAN(1,pyb.CAN.LOOPBACK,pyb.CAN.EXTENDED_FRAME)
I have also added checks on the input parameters to the send method.
Please review and comment.
Thanks
/Henrik
Generally in uPy we don't check for out-of-bound errors when they are not fatal errors.  Specifying an out-of-bounds ID here will not break anything, it'll just deliver to the wrong address.  So to keep uPy micro sized, we don't issue such warnings, which take a relatively large amount of ROM and make this function slower.

Instead of this check, it's best to just mask the ID to the relevant size in the code below (where it stores to tx_msg.ExtId or StdId).