Added before step and after step hooks
Implemented error reporting

The following test execution report model is used

-testexecutionStatus
--[]*specExecutionStatus
----[]*scenarioExecutionStatus
-------[]*stepExecutionStatus

testExecutionStatus will have a consolidated report of the whole test
execution
Added before suite and after suite hooks
Adding a lib which can parse .properties file
Cleaning the execution error reporting
Revert "Adding a lib which can parse .properties file"

This reverts commit 4f6de6b34e4cfbcc8d126ee631a41f5991febb3b.
Changes to env variable handling

Env variables will now be specified in a .properties file instead of a
JSON file. This allows adding comments for each property. Since property
files are just text files, it can be easily altered.

From this commit onwards, env variables can be overridden in different
environments. All the variables defined in the "default" env will always
be loaded. Then the user specified environment will be loaded. This way,
user can override just the required variable in the new environment
while keeping all the shared variables in "default"
Merge branch 'master' into concepts

Conflicts:
	src/twist.go