UARTSerialComms; UART interrupts; code tidying

UARTSerialComms: interrupt driven UART serial buffer/driver

Also added interrupt features to UART.  Changes occured in UART, and
NVIC

I also touched up LCD a bit.
Updated and added many modules created in lab

Screen, and its necessary alterations.  Also fixed broken names in
UARTSerialComms.  GPS added.
Bug in getHeading function
GPS - requires testing

GPS manages communications with the GPS device.  It also manages
waypoints, and the information required to reach one.
Inside GPS.c, at the top of the file, there are global variables that
control the UART communications.  These values will undoubtedly need
readjusting.  I was just guessing.
Merge pull request #1 from jcronq/GPS-TEST

Gps test
Merge branch 'master' of https://github.com/jcronq/Final-Project-v1.0 into I2C_test
GPS modifications - functions/comments

isDataValid(); returns true if more than 5 satellites, false if no sats,
or connection to gps module.

modified bearing to be in degrees east of north (EoN).
added extra security to string parsing functions
Added function comments to the .c file
enhanced speed for isDataValid, in some cases.
Navigation.c/.h

Navigation contains the functions for controlling the automated
navigator.  Such functions will include, pauseAutoNavigate,
resumeAutoNavigate.

Currently, functions for pushing, and popping waypoints from a list are
all that are available.
updated...
Merge branch 'master' of https://github.com/jcronq/Final-Project-v1.0 into I2C_test
- Changes to Compass