Set TINYOS_ROOT_DIR in Makefile, change var names

This removes the non-desireable requirement that a user must set
environment variables in order to build TinyOS. The $TOSROOT variable
then trickles through the makefiles and in makerules $TOSDIR is set.

The overhead to do this is small (1 line in each application makefile)
but it should really help make tinyos more user friendly.

TOSROOT is set with "?=" meaning that it won't override TOSROOT if it is
already set by an environment variable.

Makefile.include in the root sets TOSDIR and MAKERULES before including
$(MAKERULES). This allows the current env variables to override the
derived settings.

Changing TinyOS Make system variable names:

| Old Variable        | Proposed Variable Name      | Default Value                    | Purpose                                                             |
|---------------------|-----------------------------|----------------------------------|---------------------------------------------------------------------|
| TOSROOT             | TINYOS_ROOT_DIR             | relative to application Makefile | Base for all other variable defaults                                |
| TOSDIR              | TINYOS_OS_DIR               | $TINYOS_ROOT_DIR/tos             | Path to `/tos` folder containing main system source to compile with |
| TINYOS_MAKE_PATH    | TINYOS_MAKE_DIR             | $TINYOS_ROOT_DIR/support/make    | Path to `/make` that contains the targets, extras, and rules        |
| MAKERULES           | TINYOS_MAKERULES            | $TINYOS_MAKE_DIR/Makerules       | Path to main makefile                                               |
| TINYOS_MAKELOCAL    | TINYOS_MAKELOCAL            | $TINYOS_MAKE_DIR/Makelocal       | Path to optional Makelocal file                                     |
| TINYOS_MAKEDEFAULTS | TINYOS_MAKEDEFAULTS         | $TINYOS_MAKE_DIR/Makedefaults    | Path to Makedefaults                                                |
| TOSMAKE_PATH        | TINYOS_MAKE_DIR_ADDITIONAL  | unset                            | Space separated paths of additional `support/make` directories      |
Moved python code to tools/, now gets installed

In order to remove more environment variable usage, the tinyos python
code must be installed on the user's system instead of in the tinyos
tree. This commit moves all the python to tools so automake will install
it. Doing this requires one subtle change: "import tos" will no longer
work. It needs to be "from tinyos import tos" now.

I think I updated all of the relevant files.

One note: python3 is handled a bit weirdly, and therefore tos-serlook.py
may not be able to find tinyos.misc.hexdump. It seems that
/usr/local/lib/python3/dist-packages is not in the search path by
default. I fixed this by adding "tinyos.pth" containing the correct
directory to /usr/local/lib/python3.2/dist-packages.
Moved CoAP to /tools dir

The CoAP support code will now be built and installed with tinyos-tools.

I updated coap.extra to reflect the moved .c files.

Conflicts:
	tools/.gitignore
Moved blip support to /tools directory

Will not compile the blip sdk code on cygwin as it only supports linux and mac.

Conflicts:
	tools/.gitignore
Moved sf and serial_tun to /tools

I have no idea if anyone still uses this code. The configure script for
sf is out of date and does not work with newer automake (I updated it).

I also renamed some binaries so they can be installed. If the user is
installing TinyOS, they may as well _install_ tinyos. Why make them hunt
around for different binaries? If something shouldn't be installed, then
the question is why is it distributed with the main TinyOS source? It
should be some sort of optional extra somewhere, not part of the main
source. Hard drives are big, just give me all of the TinyOS tools.
Moved cpp version of sf to /tools

Because there are 2 sf applications, the cpp version is named sf2.
Moved java to /tools; Removed env vars

Java is now compiled and installed with tinyos-tools
Moved imote2-ocd-program.py to /tools

No reason to have the makefile need to dig into tools in order to
install to the hardware.
Changed tinyos-tools version to 1.6.0
Removing ncc

ncc is a very strange step in the build process. It is basically a
magical perl script that sets a bunch of include directories, but is
really just another opaque layer to figuring out how tinyos is getting
built. While trying to re-write it to make it a bit cleaner and smarter,
I had a realization: Why are include directories and nesc flags (which
are used to compile code) smack dab in the middle of a src folder
(tos/platforms/<platform>/platform)? Why isn't all of that contained in
the make system (where you would expect it to be? In fact, why do we
need these magic files (platform, family, sensor) at all?

This commit addresses these questions by starting to move what was in
the platform (etc.) files into the make system. In this way, X.target
files include Y.platform files, Z.sensor files, (etc.) in order to get
all of the relevant flags without needing to write perl code.

Also, tos-sub-tosdir tool makes the %T flag magical. Instead of just
being replaced with $TOSDIR, it is replaced with all of the $TOSDIR
paths that point to actual folders. This allows for first class support
for out of tree platforms, as they will be able to use the %T syntax and
have it just work. This is convienent because if the platform ever gets
moved to tinyos-main it will just work.
Removed default-platform

default-platform wasn't really being used, so now an explicit target
must be provided to all tinyos-tools. Therefore -print-target is no
longer a reasonable option.
Reorganizing more variables
Refactoring make microcontroller: msp

Getting rid of old variables and ifdef checks, trying to make things more
cohesive, renaming variables to nice names, moving defaults to the
Makedefaults file, otherwise trying to clean up the msp folder.
Refactoring make microcontroller: avr
Refactoring make microcontroller: sam3
Refactoring make microcontroller: null
Refactoring make microcontroller: m16c60 and mulle
Refactoring make microcontroller: pxa27x
Moved platform,family,sensor files to support/make

Updated the targets to pull in the correct platform
Cleaning up and updating many make files