Created branch newAPI

@pranavmathur @ZachOhara : Please ignore this branch. I am going to try to optimize, shrink, and improve the API.
WHATEVER YOU DO, DO NOT MERGE THIS BRANCH WITH ANY OTHER BRANCH UNTIL IT IS COMPLETELY FINISHED!
Cleaned up encoders

In ROBOTC encoders are, unfortunately, only able to handle short values.
This commit changes the conversion functions to reflect that.
Cleaned up nxt files

API's shouldn't work by themselves. This makes it more end programmer oriented.
Massive cleaning on functions.c

tasks are pointless here.
Cleaned up background.c
Deleted our timers

WILL NEED TO UPDATE USER GUIDE!
Removed ruler system, added more to encoders
Corrected simplemovement.c

distances.c was repetative, sensors is now empty, fill when we add sensors.
updated api.c to reflect api's current state
Some spacing changes in math

From now on all indents will be 1 tab ('\t') character.
Massive simplification of movement.c

This way we don't have to worry about so many files when debugging code
Added encoder conversions for raw ticks
Split functions.c

It is now in three files for clarity and ease of editing.
Also updated settings, encoders, and api to match.
Merge branch 'master' into unstable

Updates unstable so that we can actually develop on it.
Merge branch 'master' into unstable
Merge branch 'master' into newAPI

All conflicts changed to solve.
Now onto testing and adapting.

Conflicts:
	api/background.c
	api/functions.c
	api/nxt.c
	api/simplemovement.c
API will now compile

I still need a robot to make sure that all of the code is working, but
it does compile for now.
Got rid of strafe + other changes

Fixed ternary operator problem
Pew Pew Pew

Bye Bye unused functions
pewwwwwwwwwwwwwww

bye bye strafer