Что означает точка с запятой перед началом функции?
Это точка-с-запятой, ставится в начале файле, чтобы при минификации и последующей склейки нескольких файлов в один между инструкциями склеенных файлов гарантированно был синтаксический разделитель. 
если в одном файле в конце написано var s=10*somevar в другом начинается с (fun... и т.д.) получится после склейки var s=10*somevar(fun... и т.д.) вместо ожидаемого var s=10*somevar;(fun... и т.д.)
Это просто перестраховка, на случай если в коде перед плагином не поставили точку с запятой. Интерпритатор их сам расставляет, но в некоторых ситуациях может поставить неправильно.
https://learn.javascript.ru/structure#semicolon