Net status prototype merge

Hi all.  

I'm ready to merge NetStatus code into master.  NetStatus has code to do the following things:
* Download, maintain a copy of, validate, and serve network status documents including the network-consensus and server- micro-descriptors. 
* Provide a query interface for retrieving routers with desired attributes from network consensus and/or server- micro-descriptors.

Look at the examples in the code and documentation for an idea of how to use this module.

Outstanding issues:  #1 #6 #17 #18 #19 #20

Note: although there are still a few outstanding issues, the branch is in a usable state and ready to go for other people to experiment with/use.  I think this it's at a stable enough state to merge so it can be used by others (in handshake, circuit creation, path selection, etc.), and I can add in the other sections as we need them.

This is a request for comments and code review.