bundles refactoring

The goal is to be able to generate in advance the assets and not having to do them on the fly. Effectively removing node.js and npm from the production dependencies.

### Changes

Usage of the bundles:

```jinja
{% bundles "jquery.js", "invenio.css" %}
```

Definition of the bundles:
```python
# invenio.modules.mymodule.bundles
from invenio.ext.assets import Bundle

# NB: if __all__ is specified, only the bundles present
#     will be harvested by Flask-Registry.
#__all__ = ('js', 'css')

js = Bundle(
    "js/jquery.js",
    "js/jquery.fileupload.js",
    output="jquery.js",
    filters="uglifyjs",
    weight=10,
    bower={
        "jquery": "2.1.0",
        "jquery.fileupload": "latest"
    }
)
css = Bundle(
    "less/invenio.less",
    output="invenio.css",
    filters="less,cleancss"
)
```

Generating the bundles:
```console
$ inveniomanage assets build
--------------------------------------------------------------------------------
INFO in wrappers [/opt/invenio/invenio/ext/assets/wrappers.py:130]:
invenio.base.factory: jquery.js:
 - js/jquery.js
 - js/jquery.jeditable.mini.js
 - js/jquery.tokeninput.js
 - js/jquery-caret.js
 - js/typeahead.js
 - js/bootstrap.js
 - js/bootstrap-select.js
 - js/hogan.js
 - js/translate.js
--------------------------------------------------------------------------------
INFO in wrappers [/opt/invenio/invenio/ext/assets/wrappers.py:130]:
invenio.base.factory: invenio.css:                        
 - css/token-input.css                                    
 - css/token-input-facebook.css                           
 - less/base.less                                         
 - css/tags/popover.css                                   
 - css/accounts/login.css                                 
 - css/typeahead.js-bootstrap.css
 - css/search/search.css
 - css/search/searchbar.css
--------------------------------------------------------------------------------
Building bundle: jquery.js
Building bundle: invenio.css
```

## Debug mode

In debug mode, the bundles are listed in the HTML source along with the template that introduced it.

```html
<!-- base/bundles_base.html: jquery.js, invenio.js, invenio.css -->
<!-- base/bundles_base.html: less.js -->
<!-- base/bundles_base.html: require.js -->
<!-- accounts/index_base.html: jquery-ui.js -->
<!DOCTYPE html>
<html>
...
<!-- 0: less.js -->
<script src="gen/less.js"></script>
<!-- 0: require.js -->
<script src="gen/require.js"></script>
<!-- 10: jquery.js -->
...
<!-- 11: jquery-ui.js -->
...
<!-- 50: invenio.js -->
```

The bundles are collected via Flask-Registry.

### To-Do

- [x] `inveniomanage assets build` compiles the bundles
- [x] the compiled bundles are put into `/overlay/base/static` for `collect`.
- [x] drop the old `js`/`css` syntax
- [x] `inveniomanage bower` that generates a bower.json file.
- [x] fix legacy pages (bundles are expected to appear in the `<head>`)
- [x] fix `deposit` module (@jalavik)
- [x] fix `workflows` module

Closes #1767 
1: D400 First line should end with '.', not 'e'
1: D205 Blank line missing between one-line summary and description
1: D208 Docstring is over-indented
3: I102 copyright year is outdated, expected 2014 but got 2013
31:1: F401 'current_app' imported but unused
32:1: F401 'FileSystemLoader' imported but unused
38: D401 First line should be imperative: 'Render', not 'Renders'
38: D400 First line should end with '.', not 'n'
38: D205 Blank line missing between one-line summary and description
60: D401 First line should be imperative: 'Thi', not 'This'
60: D400 First line should end with '.', not 'n'
60: D205 Blank line missing between one-line summary and description
75:5: F401 'get_translations' imported but unused
110: D401 First line should be imperative: 'Extend', not 'Extends'
170: D401 First line should be imperative: 'Return', not 'Returns'
170: D200 One-line docstring should not occupy 3 lines
187: D401 First line should be imperative: 'Thi', not 'This'
187: D400 First line should end with '.', not 'l'
187: D205 Blank line missing between one-line summary and description
200: D401 First line should be imperative: 'Thi', not 'This'
200: D400 First line should end with '.', not 'l'
200: D205 Blank line missing between one-line summary and description