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>
1: D400 First line should end with '.', not 'o'
1: D205 Blank line missing between one-line summary and description
1: D208 Docstring is over-indented
2: I102 copyright year is outdated, expected 2014 but got 2013
37:6: E126 continuation line over-indented for hanging indent
49:29: E126 continuation line over-indented for hanging indent
56:36: E126 continuation line over-indented for hanging indent
61:38: E126 continuation line over-indented for hanging indent
68:6: E126 continuation line over-indented for hanging indent
103:1: E302 expected 2 blank lines, found 1
103: D401 First line should be imperative: 'Thi', not 'This'
103: D202 No blank lines allowed *after* function docstring, found 1
103: D400 First line should end with '.', not 's'
103: D205 Blank line missing between one-line summary and description
103: D208 Docstring is over-indented
190:5: F841 local variable 'noPage' is assigned to but never used
232:21: E201 whitespace after '{'
232:31: E203 whitespace before ':'
232:59: E203 whitespace before ':'
232:64: E202 whitespace before '}'
239:5: E303 too many blank lines (2)
309:27: F841 local variable 'e' is assigned to but never used
331:57: E703 statement ends with a semicolon
344:66: E703 statement ends with a semicolon
351:69: E502 the backslash is redundant between brackets
352:99: E502 the backslash is redundant between brackets
353:65: E502 the backslash is redundant between brackets
354:71: E502 the backslash is redundant between brackets
355:63: E502 the backslash is redundant between brackets
363:10: E127 continuation line over-indented for visual indent
401:49: E502 the backslash is redundant between brackets
402:78: E502 the backslash is redundant between brackets
403:92: E502 the backslash is redundant between brackets
404:70: E502 the backslash is redundant between brackets
405:78: E502 the backslash is redundant between brackets
406:101: E502 the backslash is redundant between brackets
407:60: E502 the backslash is redundant between brackets
408:79: E502 the backslash is redundant between brackets
437:32: E231 missing whitespace after ','
489:18: E203 whitespace before ':'
490:17: E203 whitespace before ':'
491:17: E203 whitespace before ':'
492:13: E203 whitespace before ':'
493:17: E203 whitespace before ':'
494:14: E203 whitespace before ':'
495:20: E203 whitespace before ':'
496:15: E203 whitespace before ':'
497:14: E203 whitespace before ':'
498:17: E203 whitespace before ':'
498:24: E261 at least two spaces before inline comment
498:25: E262 inline comment should start with '# '
499:14: E203 whitespace before ':'
500:20: E203 whitespace before ':'
501:40: E203 whitespace before ':'
502:32: E203 whitespace before ':'
503:23: E203 whitespace before ':'
541:53: E262 inline comment should start with '# '
542:53: E113 unexpected indentation
547:22: E211 whitespace before '['
549:69: E231 missing whitespace after ','
549:29: E211 whitespace before '('
549:41: E211 whitespace before '['
552:84: E202 whitespace before '}'
564:61: E251 unexpected spaces around keyword / parameter equals
564:63: E251 unexpected spaces around keyword / parameter equals
564:73: E251 unexpected spaces around keyword / parameter equals
564:75: E251 unexpected spaces around keyword / parameter equals
564:57: E211 whitespace before '('
569:39: E201 whitespace after '['
569:43: E231 missing whitespace after ','
603:39: E703 statement ends with a semicolon
606:46: E703 statement ends with a semicolon
626:71: E703 statement ends with a semicolon
638:15: E127 continuation line over-indented for visual indent
640:9: F841 local variable 'message' is assigned to but never used
641:9: F841 local variable 'fullcheck_select' is assigned to but never used
642:9: F841 local variable 'fullcheck_radio' is assigned to but never used
643:9: F841 local variable 'fullcheck_upload' is assigned to but never used
706:26: E126 continuation line over-indented for hanging indent
706:33: E203 whitespace before ':'
707:33: E203 whitespace before ':'
708:24: E126 continuation line over-indented for hanging indent
711:11: E126 continuation line over-indented for hanging indent
711:13: E251 unexpected spaces around keyword / parameter equals
711:15: E251 unexpected spaces around keyword / parameter equals
712:18: E251 unexpected spaces around keyword / parameter equals
712:20: E251 unexpected spaces around keyword / parameter equals
713:18: E251 unexpected spaces around keyword / parameter equals
713:20: E251 unexpected spaces around keyword / parameter equals
714:18: E251 unexpected spaces around keyword / parameter equals
714:20: E251 unexpected spaces around keyword / parameter equals
715:18: E251 unexpected spaces around keyword / parameter equals
715:20: E251 unexpected spaces around keyword / parameter equals
716:17: E251 unexpected spaces around keyword / parameter equals
716:19: E251 unexpected spaces around keyword / parameter equals
717:17: E251 unexpected spaces around keyword / parameter equals
717:19: E251 unexpected spaces around keyword / parameter equals
718:15: E251 unexpected spaces around keyword / parameter equals
718:17: E251 unexpected spaces around keyword / parameter equals
719:18: E251 unexpected spaces around keyword / parameter equals
719:20: E251 unexpected spaces around keyword / parameter equals
720:14: E251 unexpected spaces around keyword / parameter equals
720:16: E251 unexpected spaces around keyword / parameter equals
721:17: E251 unexpected spaces around keyword / parameter equals
721:19: E251 unexpected spaces around keyword / parameter equals
722:21: E251 unexpected spaces around keyword / parameter equals
722:23: E251 unexpected spaces around keyword / parameter equals
723:26: E126 continuation line over-indented for hanging indent
723:28: E251 unexpected spaces around keyword / parameter equals
723:30: E251 unexpected spaces around keyword / parameter equals
724:32: E251 unexpected spaces around keyword / parameter equals
724:34: E251 unexpected spaces around keyword / parameter equals
725:31: E251 unexpected spaces around keyword / parameter equals
725:33: E251 unexpected spaces around keyword / parameter equals
726:35: E251 unexpected spaces around keyword / parameter equals
726:37: E251 unexpected spaces around keyword / parameter equals
727:29: E251 unexpected spaces around keyword / parameter equals
727:31: E251 unexpected spaces around keyword / parameter equals
728:31: E251 unexpected spaces around keyword / parameter equals
728:33: E251 unexpected spaces around keyword / parameter equals
729:31: E251 unexpected spaces around keyword / parameter equals
729:33: E251 unexpected spaces around keyword / parameter equals
730:32: E251 unexpected spaces around keyword / parameter equals
730:34: E251 unexpected spaces around keyword / parameter equals
731:32: E251 unexpected spaces around keyword / parameter equals
731:34: E251 unexpected spaces around keyword / parameter equals
732:32: E251 unexpected spaces around keyword / parameter equals
732:34: E251 unexpected spaces around keyword / parameter equals
733:31: E251 unexpected spaces around keyword / parameter equals
733:33: E251 unexpected spaces around keyword / parameter equals
734:33: E251 unexpected spaces around keyword / parameter equals
734:35: E251 unexpected spaces around keyword / parameter equals
735:33: E251 unexpected spaces around keyword / parameter equals
735:35: E251 unexpected spaces around keyword / parameter equals
736:34: E251 unexpected spaces around keyword / parameter equals
736:36: E251 unexpected spaces around keyword / parameter equals
737:24: E126 continuation line over-indented for hanging indent
738:19: E251 unexpected spaces around keyword / parameter equals
738:21: E251 unexpected spaces around keyword / parameter equals
739:10: E126 continuation line over-indented for hanging indent
747:20: E126 continuation line over-indented for hanging indent
747:29: E203 whitespace before ':'
748:29: E203 whitespace before ':'
749:29: E203 whitespace before ':'
750:24: E203 whitespace before ':'
751:18: E126 continuation line over-indented for hanging indent
755:5: E303 too many blank lines (2)
761:23: E251 unexpected spaces around keyword / parameter equals
762:21: E251 unexpected spaces around keyword / parameter equals
762:23: E251 unexpected spaces around keyword / parameter equals
763:25: E251 unexpected spaces around keyword / parameter equals
763:27: E251 unexpected spaces around keyword / parameter equals
764:28: E251 unexpected spaces around keyword / parameter equals
764:30: E251 unexpected spaces around keyword / parameter equals
765:25: E251 unexpected spaces around keyword / parameter equals
765:27: E251 unexpected spaces around keyword / parameter equals
766:20: E251 unexpected spaces around keyword / parameter equals
766:22: E251 unexpected spaces around keyword / parameter equals
767:25: E251 unexpected spaces around keyword / parameter equals
767:27: E251 unexpected spaces around keyword / parameter equals
768:20: E251 unexpected spaces around keyword / parameter equals
768:22: E251 unexpected spaces around keyword / parameter equals
773: D400 First line should end with '.', not 'e'
773: D205 Blank line missing between one-line summary and description
773: D208 Docstring is over-indented
843:5: F841 local variable 'dismode' is assigned to but never used
861:66: E703 statement ends with a semicolon
868:69: E502 the backslash is redundant between brackets
869:99: E502 the backslash is redundant between brackets
870:65: E502 the backslash is redundant between brackets
871:71: E502 the backslash is redundant between brackets
872:63: E502 the backslash is redundant between brackets
910:21: E201 whitespace after '{'
910:31: E203 whitespace before ':'
910:59: E203 whitespace before ':'
910:64: E202 whitespace before '}'
926:5: F841 local variable 'reserved_words' is assigned to but never used
926:96: E502 the backslash is redundant between brackets
952:57: E703 statement ends with a semicolon
963:87: E502 the backslash is redundant between brackets
964:25: E128 continuation line under-indented for visual indent
1023:60: E502 the backslash is redundant between brackets
1024:78: E502 the backslash is redundant between brackets
1025:35: E127 continuation line over-indented for visual indent
1025:114: E502 the backslash is redundant between brackets
1026:70: E502 the backslash is redundant between brackets
1027:79: E502 the backslash is redundant between brackets
1117:21: E261 at least two spaces before inline comment
1117:22: E262 inline comment should start with '# '
1130:28: E127 continuation line over-indented for visual indent
1171:56: E502 the backslash is redundant between brackets
1172:61: E502 the backslash is redundant between brackets
1173:55: E502 the backslash is redundant between brackets
1174:62: E502 the backslash is redundant between brackets
1184:22: E126 continuation line over-indented for hanging indent
1188:76: E502 the backslash is redundant between brackets
1189:72: E502 the backslash is redundant between brackets
1190:75: E502 the backslash is redundant between brackets
1191:78: E502 the backslash is redundant between brackets
1192:71: E502 the backslash is redundant between brackets
1196:59: E502 the backslash is redundant between brackets
1197:55: E502 the backslash is redundant between brackets
1198:58: E502 the backslash is redundant between brackets
1199:61: E502 the backslash is redundant between brackets
1205:11: E126 continuation line over-indented for hanging indent
1205:13: E251 unexpected spaces around keyword / parameter equals
1205:15: E251 unexpected spaces around keyword / parameter equals
1207:17: E251 unexpected spaces around keyword / parameter equals
1207:19: E251 unexpected spaces around keyword / parameter equals
1208:18: E251 unexpected spaces around keyword / parameter equals
1208:20: E251 unexpected spaces around keyword / parameter equals
1209:17: E251 unexpected spaces around keyword / parameter equals
1209:19: E251 unexpected spaces around keyword / parameter equals
1210:18: E251 unexpected spaces around keyword / parameter equals
1210:20: E251 unexpected spaces around keyword / parameter equals
1211:15: E251 unexpected spaces around keyword / parameter equals
1211:17: E251 unexpected spaces around keyword / parameter equals
1212:18: E251 unexpected spaces around keyword / parameter equals
1212:20: E251 unexpected spaces around keyword / parameter equals
1213:18: E251 unexpected spaces around keyword / parameter equals
1213:20: E251 unexpected spaces around keyword / parameter equals
1214:14: E251 unexpected spaces around keyword / parameter equals
1214:16: E251 unexpected spaces around keyword / parameter equals
1215:18: E251 unexpected spaces around keyword / parameter equals
1215:20: E251 unexpected spaces around keyword / parameter equals
1216:18: E251 unexpected spaces around keyword / parameter equals
1216:20: E251 unexpected spaces around keyword / parameter equals
1217:19: E251 unexpected spaces around keyword / parameter equals
1217:21: E251 unexpected spaces around keyword / parameter equals
1218:19: E251 unexpected spaces around keyword / parameter equals
1218:21: E251 unexpected spaces around keyword / parameter equals
1219:27: E251 unexpected spaces around keyword / parameter equals
1219:29: E251 unexpected spaces around keyword / parameter equals
1220:22: E251 unexpected spaces around keyword / parameter equals
1220:24: E251 unexpected spaces around keyword / parameter equals
1221:9: E121 continuation line under-indented for hanging indent
1238:20: E126 continuation line over-indented for hanging indent
1238:29: E203 whitespace before ':'
1239:29: E203 whitespace before ':'
1240:24: E203 whitespace before ':'
1241:18: E126 continuation line over-indented for hanging indent
1250:23: E251 unexpected spaces around keyword / parameter equals
1251:21: E251 unexpected spaces around keyword / parameter equals
1251:23: E251 unexpected spaces around keyword / parameter equals
1252:25: E251 unexpected spaces around keyword / parameter equals
1252:27: E251 unexpected spaces around keyword / parameter equals
1255:20: E251 unexpected spaces around keyword / parameter equals
1255:22: E251 unexpected spaces around keyword / parameter equals
1256:25: E251 unexpected spaces around keyword / parameter equals
1256:27: E251 unexpected spaces around keyword / parameter equals
1257:20: E251 unexpected spaces around keyword / parameter equals
1257:22: E251 unexpected spaces around keyword / parameter equals
1261:1: E302 expected 2 blank lines, found 1
1261: D401 First line should be imperative: 'Thi', not 'This'
1261: D205 Blank line missing between one-line summary and description
1261: D208 Docstring is over-indented
1287:21: E126 continuation line over-indented for hanging indent
1287:23: E251 unexpected spaces around keyword / parameter equals
1287:25: E251 unexpected spaces around keyword / parameter equals
1288:31: E251 unexpected spaces around keyword / parameter equals
1288:33: E251 unexpected spaces around keyword / parameter equals
1289:30: E251 unexpected spaces around keyword / parameter equals
1289:32: E251 unexpected spaces around keyword / parameter equals
1290:17: E126 continuation line over-indented for hanging indent
1293:16: E128 continuation line under-indented for visual indent
1294:16: E128 continuation line under-indented for visual indent
1295:16: E128 continuation line under-indented for visual indent
1296:16: E128 continuation line under-indented for visual indent
1297:16: E128 continuation line under-indented for visual indent
1298:16: E128 continuation line under-indented for visual indent
1299:16: E128 continuation line under-indented for visual indent
1300:16: E128 continuation line under-indented for visual indent
1301:16: E124 closing bracket does not match visual indentation
1303:1: E302 expected 2 blank lines, found 1
1303: D400 First line should end with '.', not 'r'
1303: D205 Blank line missing between one-line summary and description
1303: D208 Docstring is over-indented
1333:18: E126 continuation line over-indented for hanging indent
1343:1: E302 expected 2 blank lines, found 1
1343: D400 First line should end with '.', not 'n'
1343: D205 Blank line missing between one-line summary and description
1343: D208 Docstring is over-indented
1358:14: E261 at least two spaces before inline comment
1358:15: E262 inline comment should start with '# '
1368:15: E221 multiple spaces before operator
1373:24: E262 inline comment should start with '# '
1374:24: E111 indentation is not a multiple of four
1374:24: E113 unexpected indentation
1376:8: E127 continuation line over-indented for visual indent
1384:48: E502 the backslash is redundant between brackets
1385:91: E502 the backslash is redundant between brackets
1392:10: E127 continuation line over-indented for visual indent
1399:1: E302 expected 2 blank lines, found 1
1399: D400 First line should end with '.', not 's'
1399: D205 Blank line missing between one-line summary and description
1399: D208 Docstring is over-indented
1412:13: E201 whitespace after '{'
1412:18: E203 whitespace before ':'
1412:36: E203 whitespace before ':'
1414:1: E302 expected 2 blank lines, found 1
1414: D103 Docstring missing
1461:1: E302 expected 2 blank lines, found 1
1461: D103 Docstring missing
1475: D103 Docstring missing
1497:52: E502 the backslash is redundant between brackets
1498:82: E502 the backslash is redundant between brackets
1499:48: E502 the backslash is redundant between brackets
1500:54: E502 the backslash is redundant between brackets
1513:20: E221 multiple spaces before operator
1516:19: F841 local variable 'docShortDesc' is assigned to but never used
1517:20: E221 multiple spaces before operator
1522:52: E502 the backslash is redundant between brackets
1523:82: E502 the backslash is redundant between brackets
1524:54: E502 the backslash is redundant between brackets
1542:50: E203 whitespace before ':'
1542:97: E203 whitespace before ':'
1543:36: E126 continuation line over-indented for hanging indent
1553:5: E303 too many blank lines (2)
1554:11: E126 continuation line over-indented for hanging indent
1556:14: E251 unexpected spaces around keyword / parameter equals
1556:16: E251 unexpected spaces around keyword / parameter equals
1557:14: E251 unexpected spaces around keyword / parameter equals
1557:16: E251 unexpected spaces around keyword / parameter equals
1558:18: E251 unexpected spaces around keyword / parameter equals
1558:20: E251 unexpected spaces around keyword / parameter equals
1559:22: E251 unexpected spaces around keyword / parameter equals
1559:24: E251 unexpected spaces around keyword / parameter equals
1560:22: E251 unexpected spaces around keyword / parameter equals
1560:24: E251 unexpected spaces around keyword / parameter equals
1561:21: E251 unexpected spaces around keyword / parameter equals
1561:23: E251 unexpected spaces around keyword / parameter equals
1562:21: E251 unexpected spaces around keyword / parameter equals
1562:23: E251 unexpected spaces around keyword / parameter equals
1563:26: E251 unexpected spaces around keyword / parameter equals
1563:28: E251 unexpected spaces around keyword / parameter equals
1564:16: E251 unexpected spaces around keyword / parameter equals
1564:18: E251 unexpected spaces around keyword / parameter equals
1566:21: E251 unexpected spaces around keyword / parameter equals
1566:23: E251 unexpected spaces around keyword / parameter equals
1567:9: E121 continuation line under-indented for hanging indent
1569:95: E203 whitespace before ':'
1570:91: E203 whitespace before ':'
1572:22: E251 unexpected spaces around keyword / parameter equals
1572:24: E251 unexpected spaces around keyword / parameter equals
1581:16: E124 closing bracket does not match visual indentation
1583:1: E302 expected 2 blank lines, found 1
1583: D400 First line should end with '.', not 't'
1583: D205 Blank line missing between one-line summary and description
1583: D208 Docstring is over-indented
1589:1: E302 expected 2 blank lines, found 1
1589:23: E211 whitespace before '('
1589: D103 Docstring missing
1614:19: E211 whitespace before '('
1614: D400 First line should end with '.', not 'y'
1614: D205 Blank line missing between one-line summary and description
1614: D208 Docstring is over-indented
1631:47: E211 whitespace before '('
1634:1: E302 expected 2 blank lines, found 1
1634: D400 First line should end with '.', not '0'
1634: D205 Blank line missing between one-line summary and description
1634: D208 Docstring is over-indented
1654:1: E302 expected 2 blank lines, found 1
1654:19: E211 whitespace before '('
1654: D103 Docstring missing
1667:1: E302 expected 2 blank lines, found 1
1667: D401 First line should be imperative: 'Call', not 'Calls'
1667: D290 White spaces around docstring should be trimmed.
1667: D400 First line should end with '.', not "'"
1667: D205 Blank line missing between one-line summary and description
1668:5: E128 continuation line under-indented for visual indent
1669:5: E128 continuation line under-indented for visual indent
1669:5: E125 continuation line with same indent as next logical line
1682:18: E203 whitespace before ':'
1683:17: E203 whitespace before ':'
1684:14: E203 whitespace before ':'
1684:24: E261 at least two spaces before inline comment
1684:25: E262 inline comment should start with '# '
1685:15: E203 whitespace before ':'
1686:17: E203 whitespace before ':'
1687:13: E203 whitespace before ':'
1688:17: E203 whitespace before ':'
1689:14: E203 whitespace before ':'
1690:20: E203 whitespace before ':'
1691:13: E203 whitespace before ':'
1692:20: E203 whitespace before ':'
1693:23: E203 whitespace before ':'
1694:32: E203 whitespace before ':'
1695:15: E203 whitespace before ':'
1696:20: E203 whitespace before ':'
1697:23: E203 whitespace before ':'
1715:17: E122 continuation line missing indentation or outdented
1715:23: E203 whitespace before ':'
1716:17: E122 continuation line missing indentation or outdented
1716:24: E203 whitespace before ':'
1717:17: E122 continuation line missing indentation or outdented
1717:24: E203 whitespace before ':'
1718:17: E122 continuation line missing indentation or outdented
1718:23: E203 whitespace before ':'
1760:33: E122 continuation line missing indentation or outdented
1780:78: E502 the backslash is redundant between brackets
1781:41: E128 continuation line under-indented for visual indent
1800:63: E502 the backslash is redundant between brackets
1808:9: E303 too many blank lines (2)
1809:15: E126 continuation line over-indented for hanging indent
1809:17: E251 unexpected spaces around keyword / parameter equals
1809:19: E251 unexpected spaces around keyword / parameter equals
1810:25: E251 unexpected spaces around keyword / parameter equals
1810:27: E251 unexpected spaces around keyword / parameter equals
1815:13: E121 continuation line under-indented for hanging indent
1816:9: E203 whitespace before ':'
1822:24: E211 whitespace before '('
1822: D103 Docstring missing
1825:10: E127 continuation line over-indented for visual indent
1837:19: E121 continuation line under-indented for hanging indent
1837:25: E203 whitespace before ':'
1838:27: E203 whitespace before ':'
1839:28: E203 whitespace before ':'
1840:28: E203 whitespace before ':'
1841:27: E203 whitespace before ':'
1842:26: E203 whitespace before ':'
1843:25: E203 whitespace before ':'
1848:15: E126 continuation line over-indented for hanging indent
1848:17: E251 unexpected spaces around keyword / parameter equals
1848:19: E251 unexpected spaces around keyword / parameter equals
1849:22: E251 unexpected spaces around keyword / parameter equals
1849:24: E251 unexpected spaces around keyword / parameter equals
1850:13: E121 continuation line under-indented for hanging indent
1853:1: E302 expected 2 blank lines, found 1
1853: D103 Docstring missing
1854:50: E703 statement ends with a semicolon
1855:50: E703 statement ends with a semicolon
1856:50: E703 statement ends with a semicolon
1857:50: E703 statement ends with a semicolon
1858:58: E703 statement ends with a semicolon
1861:1: E302 expected 2 blank lines, found 1
1861: D400 First line should end with '.', not 'e'
1861: D205 Blank line missing between one-line summary and description
1870:33: E227 missing whitespace around bitwise or shift operator
1875:1: E302 expected 2 blank lines, found 1
1875: D103 Docstring missing
1884:16: E111 indentation is not a multiple of four
1892:1: E302 expected 2 blank lines, found 1
1892: D202 No blank lines allowed *after* function docstring, found 1
1892: D400 First line should end with '.', not 'l'
1892: D205 Blank line missing between one-line summary and description
1913:1: E302 expected 2 blank lines, found 1
1913: D401 First line should be imperative: 'Create', not 'Creates'
1913: D202 No blank lines allowed *after* function docstring, found 1
1913: D200 One-line docstring should not occupy 3 lines
1920:5: E125 continuation line with same indent as next logical line
1942:25: E251 unexpected spaces around keyword / parameter equals
1942:27: E251 unexpected spaces around keyword / parameter equals
1948:1: E302 expected 2 blank lines, found 1
1948: D401 First line should be imperative: 'Use', not 'Uses'
1948: D202 No blank lines allowed *after* function docstring, found 1
1948: D400 First line should end with '.', not 's'
1948: D205 Blank line missing between one-line summary and description
1951:5: E125 continuation line with same indent as next logical line
1957: D103 Docstring missing
2003:34: W601 .has_key() is deprecated, use 'in'