Added more tests including network tests

I added more test methods, including testing the face registration and interest methods. I used the gevent library (http://www.gevent.org) to run threads with two faces on localhost.

Why each test case contain such a complicated statememnts to run tests?  From what I see in documentation and what has worked for me, this should be just

    if __name__ == '__main__':
        ut.main()