[#2256] [GTKUI] Indexes aren't updated properly when removing columns
[#2698] [GTKUI] Fix corrupted column indexes when using multiple col_types

 * Ensures that removing multiple items from liststore_columns list does not affect the index.
[Core][Tests] Changes to component.shutdown and unit tests

* component registry shutdown() now cleans up the component list
  this ensures that no old components are left when running unit
  tests.

* Added class BaseTestCase that all tests that create components
  should inherit from. It verifies the compoent list before and
  after the tests are run.
[Tests] Various fixes for unit tests and tox

* Added custom trial reporter for TODO with test example in test_torrentmanager.py
* Set Stats plugin tests as todo
* Disable new_release_check when running unit tests
* Added pytest.mark.slow to test_core.test_test_listen_port
* Get rid of unit test warnings (Caused by bad names in test classes)
* Removed warnings.filterwarnings in test files.
* Added separate tox target for generating test coverage HTML report.
[Tests] Changes to tests and test configs of Travis/tox

* Added pip chaching
* Added disable_new_release_check to tracker icons tests
* Fixed test_torrentviewx
* Require minimum tox version 1.8
* Fixed GTKUI tests and testcoverage by using xvfb on travis
* Separated the apt dependencies for commands requiering GTKUI deps