Add sprockets backport


... to allow for including asset inclusion from within vendor/assets
Add vendor/assets/components to asset pipeline
Add .bowerrc and bower.json
Add bower components directory to gitignore
Replace some javascript assets by their bower installations
Move some external js dependencies to lib directory
Require jquery atwho via bower
Bump Sprockets backport to 2.2.2.backport2

Although undocumented, the latest backport should provide feature/fix
parity with 2.10.0. Namely it should support `bower.json` in addition
to deprecated `component.json` manifests.

https://gist.github.com/myabc/9526121#file-gistfile1-diff-L129
Temporarily add a local relative part to register ui components
Merge branch 'feature/ui-components-test-architecture-bower' of github.com:opf/openproject into feature/ui-components-test-architecture-bower
Merge branch 'feature/ui-component-table-widgets-merged' into feature/ui-components-test-architecture-bower
Minor style tidy-up setting config.assets.paths

`Rails.root` is a `Pathname` object.

HT: @plexus (https://twitter.com/plexus/status/445233243164782592)

Signed-off-by: Alex Coles <alex@alexbcoles.com>
Require assets with logical paths, where possible

The latest versions of Sprockets parse `bower.json` and set-up the
logical path to be translated to the source file specified in the
'main' property.

N.B.
- the path for the main file of older versions of angular-ui-date is
  incorrect.
  See https://github.com/angular-ui/ui-date/commit/346e1e0126ec9f6fbe0e7f717a6d911d6c21525b.
- this is not yet working with Caret.js.
- 2.2.2.backport2 had broken support for Bower projects.
  See 960e2f5.

Signed-off-by: Alex Coles <alex@alexbcoles.com>
Revert "Temporarily add a local relative part to register ui components"

This reverts commit 7743b0e9cf848d43e4a15d309e3b6df2dc377e3f.
Make openproject-ui_components a GitHub dependency

openproject-ui_components is pending publishing as a Bower
component (Task #5144)

Signed-off-by: Alex Coles <alex@alexbcoles.com>
Persist dependency resolutions to bower.json

Conflicting dependencies need further investigation. For the
time-being, this allows for a non-interactive `bower install`.

Signed-off-by: Alex Coles <alex@alexbcoles.com>
Add basic bower:install Rake wrapper

Signed-off-by: Alex Coles <alex@alexbcoles.com>
Invoke bower:install on Travis CI runs

Signed-off-by: Alex Coles <alex@alexbcoles.com>
Configure Travis to install Bower with npm

Signed-off-by: Alex Coles <alex@alexbcoles.com>
Config Travis to build *test-architecture branches

Signed-off-by: Alex Coles <alex@alexbcoles.com>