Update angular 1.3.8
Use specialized HTTP request for questionnaires #3039
Remove ability to remove filter #3039

Since the new filter selection popup, it became less useful, and it
was broken anyway, not removing children. This allow us to save
watchers
Leverage one-time binding for filters #3039

This reduces watcher from ~1200 down to ~500 for Water filters
without any questionnaire selected. Reducing the digest time by almost
half in that edge-case scenario
Specify NPM cache in non-HOME directory
Support for distant DB server
Adapt permissions for new server
Allow user to reset password from login box (while logged out) #2814
Update angular 1.3.8 (other release)
Implement password recovery in user admin page #2813
Correct unit tests
Minor update of the data_input2 page
Add "Questionnaire observer" role #3050
Return user firstLogin attribute only on authentication use case
Migrate from select2 to ui-select #2936
Distribution config was wrong, crashing Travis
Avoid extra HTTP if it will be overwritten by re-loaded items from URL #3039

           *             ,
                       _/^\_
                      <     >
     *                 /.-.\         *
              *        `/&\`                   *
                      ,@.*;@,
                     /_o.I %_\    *
        *           (`'--:o(_@;
                   /`;--.,__ `')             *
                  ;@`o % O,*`'`&\
            *    (`'--)_@ ;o %'()\      *
                 /`;--._`''--._O'@;
                /&*,()~o`;-.,_ `""`)
     *          /`,@ ;+& () o*`;-';\
               (`""--.,_0 +% @' &()\
               /-.,_    ``''--....-'`)  *
          *    /@%;o`:;'--,.__   __.'\
              ;*,&(); @ % &^;~`"`o;@();         *
              /(); o^~; & ().o@*&`;&%O\
        jgs   `"="==""==,,,.,="=="==="`
           __.----.(\-''#####---...___...-----._
         '`         \)_`"""""`
                 .--' ')
               o(  )_-\
                 `"""` `
Update doc links
GimsSelect could not always re-select cached items

If the selected items from URL were not one of the first 25 items
then it could not be selected. We now instead always load exactly
the pre-selected items if any.
It may happen that population is 0

In rare case is it possible that we have a relative value based
on formulas (depending on other years), but have 0 population for
that year. In that case we must return null