WebSubmit: autocompeltion for authors

* Provides an author autocompletion facility for WebSubmit. (closes #2276)

* The author autocompletion interface can easily be configured for each
  submission.

* Author sources can be defined as plugins that return results in JSON.

* Author submission and modification are fully compatible with existing
  BibConvert templates.

* Uses typeahead.js <http://twitter.github.io/typeahead.js/>
  for autocompletion.

Co-authored-by: Harris Tzovanakis <charalampos.tzovanakis@cern.ch>
Co-authored-by: Nikolaos Kasioumis <nikolaos.kasioumis@cern.ch>
Signed-off-by: Nikolaos Kasioumis <nikolaos.kasioumis@cern.ch>
24:31: E126 continuation line over-indented for hanging indent
28: D203 Expected 1 blank line *before* class docstring, found 0
31: D202 No blank lines allowed *after* method docstring, found 1
31: D400 First line should end with '.', not 'e'
66:70: E502 the backslash is redundant between brackets
70: D202 No blank lines allowed *after* method docstring, found 1
70: D400 First line should end with '.', not 'k'
75:20: E201 whitespace after '('
93:70: E502 the backslash is redundant between brackets
94:109: E502 the backslash is redundant between brackets
98: D202 No blank lines allowed *after* method docstring, found 1
98: D400 First line should end with '.', not 'l'
101:9: F999 redefinition of unused 'time' from line 21
121:82: E502 the backslash is redundant between brackets
122:85: E502 the backslash is redundant between brackets
126: D202 No blank lines allowed *after* method docstring, found 1
126: D400 First line should end with '.', not 'l'
157:70: E502 the backslash is redundant between brackets
161: D202 No blank lines allowed *after* method docstring, found 1
161: D400 First line should end with '.', not 'm'
182:70: E502 the backslash is redundant between brackets
186: D290 White spaces around docstring should be trimmed.
186: D202 No blank lines allowed *after* method docstring, found 1
186: D400 First line should end with '.', not 'e'
220:70: E502 the backslash is redundant between brackets
224: D400 First line should end with '.', not 't'
251:70: E502 the backslash is redundant between brackets
254: D400 First line should end with '.', not 'n'
258:69: E502 the backslash is redundant between brackets
261:67: E502 the backslash is redundant between brackets
263:5: E301 expected 1 blank line, found 0
263: D400 First line should end with '.', not 'n'
267:20: E201 whitespace after '('
310:70: E502 the backslash is redundant between brackets
313: D102 Docstring missing
316:35: E231 missing whitespace after ','
318:9: E301 expected 1 blank line, found 0
319:18: E711 comparison to None should be 'if cond is None:'
322:9: F841 local variable 'test_authors' is assigned to but never used
330:9: F841 local variable 'title' is assigned to but never used
334:25: E231 missing whitespace after ','
341:9: F841 local variable 'abstract' is assigned to but never used