add karma configuration and gulp test tasks

The configuration itself is stored in `karma.conf.json`.
It is required by both karma.conf.js and both gulp tasks.
The default build task is aborted if any test fails.
Test dependencies are added to package.json.
test and enhance url module

Add method getFragment to retrieve arbitrary parameters in
`location.hash`.
Refactor method checkCurrent to return the parsed time codes in the
t-fragment.
prevent double testing on grunt serve

Separate build task that can be called inpependent from test.
Start 'build' at 'default' and 'serve'.
fix formatting of timecode module
add example for deep linking (embedded players)
clean up app module
nice up examples/index.html layout
WIP - deeplinking embedded players
add charset meta-tag to examples
update jshint to 1.8.3
refactor SCSS mixin to pwp-flexbox
ignore atlassian connector file
update packages - fixes #173
add pragma to url module testsuite
add test globals to test hint conf
add tests for deeplinking with endtime
testing: add karma-phantomjs-launcer to package.json
adjust test expectations
refactor timecode module

Function `extractTime` extracts the time from the raw string.
It is matched against a shortened and improved regular expression.
Method `parse` adapts the change.

NOTE:
* For compatibility reasons it returns false for values
  that could not be converted to a timestamp.
* timecode.parse() expects from and to timecodes to be separated
  by a dash '-', comma is not supported anymore
enable testing in PhantomJS