Xirrus + AeroHIVE external portals + small ecwp refactor

Adds :
* The external captive portal detection can now be done with a URL containing the name of the switch module to use (ex : http://1.1.1.1/Xirrus::AP_http)
* The redirect url is sent back from the external captive portal module so it can be set immediatly since external captive portals won't necessary go to /captive-portal anymore
* The CGI session ids are different from the catalyst captive portal so both can be used in parrallel
* The arguments initially sent to the captive portal are kept in the session (on lib/pf side) so they can be reused. They are kept in : 'ecwp-original-param-$key' = $value
* Adds support to release a user through the submision of html code through the captive portal (posting a form to the ap for example)

Needs a good review for the way of doing things.

Shouldn't be since it's not all the captive portals that work without RADIUS requests.
Doing it at the global level would open 2 location log entries. 1 for the RADIUS request + 1 during the external portal detection.