Modified time module to used linked list

Overhead of linked list is minimal and should remove overhead of copying entire structs in memory. Also removes undefined behaviour in the case of running out of tasks.
Fixed issue where the end pointer was not updated

If the end of the linked list is reached, the end pointer must be updated to no longer point at what was the last element in the list.
Added definition for TASK_COUNT

Represents the number of tasks to allocate internally.
Redesigned the ADC module to reflect design changes in RASWare

Incorporated various features such as pin definitions and timing functions
and redesigned the overall module to better match the standards that have
been created for RASWare.

Also adds background and busy wait functions that are more cpu expensive
than the contious reads but allow the option. The ADC module also assigns
the created ADC pins to the available ADC blocks in a staggered way to
balance to load and hopefully optimize performance.

Has not yet been tested for functionality.
Fixed small issue with the pending queue in adc

On removal an element of the pending queue was not having its chain
broken, which is not checked in later parts of the program.
Changed mostly syntatic issues with adc module

Added appropriate static modifiers, changed how the end of the linked list was handled for efficiency, and fixed small bug with setting the appropriate period for the adc sequence.
Made minor changes nescessary for ADC to function

Has been thoroughly tested and is functional.
Made minor changes to get the new time module working

Fully tested and functional. Didn't show the improvement I was hoping for,
although it was a very lightweight test and wasn't very thorough. It
should be more efficient and safer, so I will keep it.
Merge branch 'adc'

Conflicts:
	RASLib/output/RASLib.lib