estk фиксы testSuite

* тесты на этапе сборки заворачиваются в "самовыстреливающую" функцию,
  дабы не гадить в global;
* Indigo.config всё это время был недоступен для testSuite, и работал
  только потому, что до него как правило хоть раз запускался Run.jsx,
  который "нормально" создавал объект Indigo с конфигом.
  Теперь testSuite от Run.jsx не зависит, а объявление webaccesslib
  перенесено сразу после подключения include.jsxinc, когда config
  уже инициализирован;
* _$jscoverage теперь сбрасывается при каждом запуске testSuite, иначе
  результаты покрытия и хиты сохраняются в этом объекте между запусками;
estk fix JsonBroker

Передавать undefined в форме стринга -- неудачная идея.
estk унификация полей передаваемого сообщения

* чтобы обойтись без дополнительных преобразований на стороне сервера,
  желательно, чтобы поля сообщения от estk совпадали с именами полей
  в mongo;
estk унификация объектов исключений

* при возникновении ошибки импозер передаёт выше по команде объект
  с текстом ошибки, файлом с ошибкой и именем метода, где всё случилось;
* в свою очередь контроллер приклеит к этому объекту всё необходимое
  и отправит его ноде для дальнейшей обработки;
estk сохраняется произвольный статус импозера

* импозер своим методом send() может передать любой статус, и этот
  статус будет передан в ноду;
estk лимит заданий агенту можно задать в конфиге

* если агент запущен на нехилом железе, он способен на многое;
* каждого агента можно теперь настраивать индивидуально: какое
  количество заданий он будет обрабатывать за один запрос;
estk запрос заданий методом POST

* fetchJobs(), казалось бы, не деструктивный метод. Однако он приводит
  к изменению статусов заданий в базе. Так что метод GET в данном случае
  идеологически не к месту;
estk фиксы тестов

* учтены изменения в предыдущих пяти коммитах;
* тесты копируются на сервер и доступны агентам;
* добавлены .gitignore в пустые хотфолдеры. git не коммитит пустые
  папки, структура каталогов не сохраняется и тесты падают;
angular добавлен статус "running"

* в Jobs добавлен статус "running" для долгоиграющих заданий;
* "долгоиграющие" -- это не те, которые долго выполняются, а те
  которые шлют промежуточные результаты в процессе своей работы;
angular fix повторная инициализация контроллеров

* из роутера убраны определения контроллеров -- они уже есть в html.
  Откуда-то их желательно убрать, иначе контроллер инициализируется
  дважды. Мелочь, а неприятно;
angular сабмиты в соответствии с интерфейсом

* функции сабмитов получают объект причудливой формы. Nodejs будет
  ожидать на входе объект такой структуры. Чего только не сделаешь
  ради сохранения интерфейса :)
angular рефакторинг ресурсов

* ресурсы логически сгруппированы по маршрутам и параметризованы.
  Параметр по умолчанию -- 'list';
* ресурсы Job и JobList объединены в один ресурс, которому в свою
  очередь добавлены методы обработки разный действий;
обновлены ангуляры и бутстрап

* потребуется выполнить `bower install`;
* выполнить в той директории, где лежит bower.json;
angular все html файлы убраны в отдельную папку

* все, кроме index.html;
Gruntfile.js удалён путь indigoWebApp

* в grunt добавлен объект paths, а тому свойство webapp;
* теперь весь харкод пути 'indigoWebApp/...' можно заменить им;
angular клиентский код разбит на отдельные файлы

* код angular расхерачен на атомарные части;
* сборкой в один файл занимается Grunt: `grunt concat:client`;
angular конкатенация css и js

* компоненты, доступные из bower, удалены из индекса git;
* соответственно, после git clone в public папок js и css не будет.
  Положение спасут `bower install` и `grunt`;
Проверка Gruntfile.js -- отдельным заданием

* до этого "за компанию" проверялся и код nodejs;
Добавлена установка зависимостей во вторую папку

* `npm install` достаточно выполнять в одном месте один раз;
nodejs Мегарефакторинг

* в таких случаях говорят, что код переписан с нуля. Не совсем так,
  но очень похоже;