[FEAT] Support HTTP GET requests

This uses a HTTP GET request if possible instead of an HTTP POST if not
one of the following conditions is applying:

- The action is one of the actions which requires a POST request (e.g.
  action=upload). If the action is query, the query modules requires a
  POST request.
- The config variable (maximum_GET_length) is lower than the actual
  param string. The family can overwrite this maximum length. If it is 0
  (it accepts also ints < 0, but those don't make sense), it'll never
  use a GET request.
- If after the first request the server returns a 414 it'll switch to
  the POST request mode and retry it.
- If the site is not using SSL, but could be configured.

The Request instance itself has an attribute 'use_get' which can
overwrite this behaviour. If it's True the first try will always be a
GET request (even if the action doesn't support it), if it's False it'll
never try it with a GET request and if it's None, it'll check the action
and if requires the querymodule.

The value of 'True' is defined to allow calling action=paraminfo inside
the request, which would itself call action=paraminfo if it didn't know
that this doesn't require a GET request. It also ignores 'meta'
parameters as those are all GETable and because ParamInfo requries
meta=siteinfo and meta=userinfo.

Change-Id: Ib045fecedd9638f4b3bcbc40bc7b37ebfea63c42
Merge "[FEAT] Support HTTP GET requests"