Address struct modification.

Began some changes geared toward support for the two network stacks,
internal and external. The Address struct now has a type signaling which
network the address belongs to.
Network driver implementations

Network drivers will be split in two parts: a NetDriver module and a
dispatcher. The disptacher must implement the IDriverDispatcher
interface and provide a exec(id, args) method for uniform access.
This way the exec() driver interface can be reused easily and we have a
cleaner class structure.
Callbacks will be available through the IDriverCallback interface,
processing/registration has yet to be implemented.
Updated license
Renamed num_elems to count in Struct
Updated TODO