Changed device from MEGA32M1 to MEGA32C1
Added comment on why there is a write to LINDAT
Updated Makefile with correct FUSE settings.

Updated fuse settings for ATmega32C1 to match those defined
in evernote notes. Updated comment accordingly.
Updated optiboot code to use ATmega32C1

Code originally targeted at ATmega32M1; however only had silicon for
the 32C1. Changed all #ifdef line to match.
Updated pin_defs.h to support change to mega32C1

Changed from using 32M1 to 32C1; #ifdef line changed to match.
Added some comments regarding where numbers came from for address limits.

Related NRWWSTART and RAMSTART back to datasheet documentation for
own sanity :o)
Moved start section address for bootloader.

Bootloader start address moved to 0x3f00 from 0x3e00
Fixed UART transmit issue; added copious comments.

Main fix was to the transmit section of the code in the function
putch(). Hadn't realised that LBUSY is 1 when the UART is busy compared
to UDREn on a normal mega MCU with a normal UART where 0 indicates busy.

Added lots of comments, as is my way, to help the poor souls that
wander this way in the future....
Added some comments for clarity.
Fixed board description, fuse settings.

Fuse settings changed to match those in Atmel Studio 6 that
I'm using to debug the firmware.
Changed LOCKBITS settings to match those in Atmel Studio 6.

LOCKBIT settings changed to disable writing to BootLoader.