test: add a "Slow User" for which every POST is slowed
test: return error on sending to empty recipients
test: hack to allow being impersonated by default
cleanup: move basic helper functions into basicHelpers.js
cleanup: move js functions into services login/loginSuccess/loggedUser/restWsHelpers
cleanup: rename services.js into routes.js + move "globals" into app.js
cleanup: move findCurrentTab from helpers into routes
cleanup: replace use of getTemplateUrl with nice "my-include" directive
cleanup: remove unused java imports
ease configuration: allow trailing "/" in property server.url & contextPath
service-side-concat: handle "ant deploy" which removes generated file while we are running
cleanup: fix comment
html: add nice <title>
"redirect" login: the redirect may take time, prevent loginSuccess to be called
enhance cookies rejected handling

detect cookies rejected in /rest/login, give sessionId to client only when really needed

=> no need to try a 401 on XHR to active jsessionid in XHR requests
js: in case loginSuccess need restWsHelpers, hack to handle this (only useful for smsu-api-admin for now)
handle "redirect" login when cookies are rejected
rename RoleWrapperFilter into AuthAndRoleAndMiscFilter since it does more than "Role"s and will do even more
disable IE caching XHR requests: replace client-side hack with HTTP header "Cache-Control: no-cache"
AuthAndRoleAndMiscFilter.java: handle Shibboleth SP authentication specificities + save information in java session

Precisions:
- mostly redo what org.jasig.cas.client.util.HttpServletRequestWrapperFilter does for CAS
- in case of proxy HTTP, ShibUserHeaders is mandatory, but REMOTE_USER header is not handled by jetty/tomcat
- in case of proxy AJP, REMOTE_USER environment is handled by tomcat if tomcatAuthentication="false"