Split shell tests into files

I am mostly interested in running all python and vim tests separately from other 
tests.
Specify -p argument in run function when running shell tests
Do not run daemon when running with ONLY_TEST_TYPE=nodaemon
Replace `name` and `module` keys with `function` key

Fixes #1031
Use “time” for time segment name
Do not use &> in #!/bin/sh scripts
Merge pull request #1039 from ZyX-I/function-key

Refactor function segments