fix(server): fix undefined present in paths array

When the helpers or matchers directories doesn't exist the promise
was returning nothing, resulting in undefined values presents in the
paths array.
fix(server): the paths was sliced one item too early
fix(server): make sure that paths only contains unique entries
feat($core): unmet dependencies no longer raise an exception

The dependencies are still reported through the message event
of the Runner class.
chore($npm): update stylus module version
chore($git): merge back changes from master in develop
feat(runner): add random execution as default behavior

The behavior can be enabled/disabled with --random and
--no-random options.
It's not 'fully' random yet, as there're dependencies
to handle and that tests are randomized per context.
feat($cli): add --colors options that forces the coloring

If the colors was disabled previously with --no-colors it
can now be enabled again with --colors.
The option was also renamed in the option object in order
to be more consistent with the other options.
fix(examples): examples groups without examples are now pending

It was supposed to be the case, instead it was leading to some
weird behavior such as timeout.
feat($browser): automatically hide success on the first failure
feat(mixins): add proper mixins methods

Having tests for mixins methods had as effect to improve the
surface of these methods, now you can use the `excluded` property
excludes properties from the mixin. If the property is set on the class
the `excluded` array will be used by the `extend` method, on the prototype
it will be by `include`.
There's also a `concern` method that do both an `include` and an `extend`.

BREAKING CHANGE: the `Globalizable` mixin can no longer define and use
  an `excluded` static property, then it was renamed as `unglobalizable`.
style($browser): adopt a light scheme for the browser reporter
fix($browser): fix invalid lookup in hasClass
fix(examples): passing `undefined` to `describe` is now a valid subject

If a test using `itsInstance` was dependent of its parent and that parent
group has was called with `undefined` as subject it was failing
in `itsInstance` instead of being skipped due to the parent tests failing
due to the `undefined` subject.

By not setting a default value for the `desc` argument it allow
the constructor switch to handle undefined values as legitimate
subjects.

The root group is now initiatlized with an empty string to force the
lack of subject and allow `itsReturn` and `itsInstance` to work properly.
chore($cli): fix improper color test
style(browser): optimize runner theme to speed up tests

The presence of shadows on the containers and animations on examples
at their creation was killing the performance of the running tests
by a factor 4. The new theme doesn't use shadow on big dynamics blocks.
feat(runner): add seeded random for tests

The seed can be set through the command line with the --seed option.
refactor($tests): stores the env on window

With the random mode, the phantomjs hooks could register to an
environment created by the `runningSpecs` helper instead of the
initial one, leading to invalid output.
feat($browser): add verbose output through console.log
refactor($tests): remove order dependent tests