Port Networks tests to Catch and document how to

This PR is to track the work on #10 , using the Catch test framework . Replaces #145 based on merged #147.

Catch stands for C++ Automated Test Cases in Headers, is a modern, C++-native, header-only, framework for unit-tests, TDD and BDD, see https://github.com/philsquared/Catch .

Catch:

* is header-only, thus little hassle to add it to `nupic.core`, unlike gtest
* provides all gtest functionalities including JUnit-style xml output as needed by #10
* provides [BDD-style assertion macros](https://github.com/philsquared/Catch/blob/master/docs/tutorial.md#bdd-style), which is tempting to me who was influenced by ruby's [cucumber](https://github.com/cucumber/cucumber)

This PR intends to complete the following tasks:

  * [x] make catch generate xUnit style reports as the original #10 requests
  * [x] porting original tests of class `Network` in `testeverything`
  * [x] generate JUnit-style report for `nupic.tools` to consume
  * [x] document how to port the tests based on [catch's tutorial about BDD-style assertion macros](https://github.com/philsquared/Catch/blob/master/docs/tutorial.md#bdd-style) , so @rhyolight can create a series of newbie tasks as discussed [here](https://github.com/numenta/nupic.core/pull/145#issuecomment-48188115)

Nice-to-have TODOs:

  * decide a goal name for unit test, for now I'm using `tests_unit`
  * make test cases not built for `nupic.core` release and `nupic` pip package

This PR is not ready to merge yet.