Move unit tests to separate directory

Move unit tests to tests/unit directory for each component. This is in preparation for adding integration tests. Modify test path in Makefile and tox.ini.
Return a better error message when pack download fails.
Fix packs.install - we should only run setup_virtualenv action for packs which
have successfully downloaded.
Throw better exception is a rule object is missing corresponding Trigger object.
Update gitpython dependency to newest version to avoid AttributeError exception.
Move fixtures and resource back to root of tests

Unit and integration may share fixtures and other resources. Move those directories from the unit directory back to the root of the tests directory. Refactor tests on where to look for these resources.
Merge pull request #911 from StackStorm/STORM-883/mistral-integration-tests

Move unit tests to separate directory
Merge pull request #918 from StackStorm/update_git_dependency

Update gitpython dependency to the newest version to avoid AttributeError exception
Merge pull request #917 from StackStorm/throw_on_missing_trigger_object

Throw better exception if a rule object is missing corresponding Trigger object
Closes #919
Merge pull request #920 from StackStorm/pwh/fabricrunner_fix

Closes #919
Add system integration tests for mistral

Add system integration tests for mistral. The tests assume both st2 and mistral are running on localhost. These tests are not run by default.

```
~/st2$ make itests

==================== integration tests ====================
The tests assume both st2 and mistral are running on localhost.

. virtualenv/bin/activate; nosetests -s -v st2tests/integration || exit 1;
test_basic_workflow (integration.mistral.test_wiring.TestWorkflowExecution) ... ok
test_complex_workflow (integration.mistral.test_wiring.TestWorkflowExecution) ... ok
test_cpu_count (integration.mistral.test_wiring.TestWorkflowExecution) ... ok
test_workflow_failure (integration.mistral.test_wiring.TestWorkflowExecution) ... ok

----------------------------------------------------------------------
Ran 4 tests in 10.176s

OK
```
Allow user to specify "end_timestamp" attribute if one is not set already.
Merge pull request #922 from StackStorm/STORM-883/mistral-integration-tests

Add system integration tests for mistral
WIP: Timer should not be sensor
Fix log statements
Fix: Refactor container utils to use services/triggers
Fix: Register webhook trigger types from webhooks controller
Timer implementation is not a sensor anymore
Spin timer up as part of rules_engine process