serial_putc() can cause rx bytes to be dropped

While fixing this issue in the various LPC* ports, I noticed a comment
pointing to this mbed forum post which summarizes this bug quite well:
  https://mbed.org/forum/bugs-suggestions/topic/4473/

This bug was introduced in the following commit:
https://github.com/mbedmicro/mbed/commit/2662e105c43c93986d52713234375b7910acf297

The following code was added to serial_putc() as part of this commit:
    uint32_t lsr = obj->uart->LSR;
    lsr = lsr;
    uint32_t thr = obj->uart->THR;
    thr = thr;

As the forum post indicates, this causes the serial_putc() routine to
actually eat an inbound received byte if it exists since reading THR is
really reading the RBR, the Receiver Buffer Register.  This code looks
like code that was probably added so that the developer could take a
snapshot of these registers and look at them in the debugger.  It
probably got committed in error.
Fix MASKED_ACCESS bug in gpio_init, now same as LPC11xx (Also use PIN_SHIFT instead of magic number 8 in gpio_set)
Merge pull request #60 from jorisa/master

Fix MASKED_ACCESS bug in gpio_init
Merge pull request #57 from adamgreen/serialTxDropsRx

serial_putc() can cause rx bytes to be dropped
Fixed problem in PWMOUT mapping table

Fixed problem in PWMOUT output issue.
Startup code cean-up (correced exception names).
Corrected test cases.
[LPC1768] Fix serial_clear

serial_clear() erroneously disabled the UART FIFOs.
Reported by Adam Green.
Merge remote-tracking branch 'github/master'
Merge pull request #61 from ytsuboi/master

Fixed problem in PWMOUT mapping table