Added Travis-CI compatibility layer

WARNING: This is WIP, please do not merge. This is preliminary work which still requires significant changes: i.e. better handling build matrix in terms of database representation and views.

This Pull Request adds Travis-CI support in GitLab CI. Most of the features already work: build matrices, languages, OSes. In order to test these changes at least this PR is required: https://github.com/gitlabhq/gitlab-ci-runner/pull/99. It uses Travis-CI libraries: https://github.com/travis-ci/travis-build and https://github.com/travis-ci/travis-yaml to create build matrix and generate shell script. Travis images can be built using https://github.com/travis-ci/travis-images or using my script: https://github.com/ayufan/travis-images/blob/master/build_docker_templates.

- Use Travis::YAML to generate build matrices
- Use Travis::Build to generate build scripts
- Fetch .travis.yml from GitLab repository
- Support for limiting runners with OS and Language support
- Support for runners which can handle only build for project
- Added 'Build Now' view which allows to force build
- When using 'Deploy' in 'Build Now' try to fetch .release.yml first


Unused method argument - `build`. If it's necessary, use `_` or `_build` as an argument name to indicate that it won't be used. You can also write as `custom_commands(*)` if you want the method to accept any arguments but don't care about them.