eip package, EIP constants to interface.
More refactoring, fixed problems from previous commit.
Smaller method.
GatewaySelector is back.

Had to rewrite the class, forgot to add the java file to git.
Update vpn certificate and store it correctly.

One more onReceiveResult for Dashboard, that method needs a rethink: a
statemachine class, and a simple "next()" method? The reality is that
the onReceiveResult specifies a linked process, and that should have a
better model than a series of if/else cases with strings comparisons hehehe
An empty certificate is valid.

If there is no certificate, there is no need to fix it. Right now, we
use this class just to know if we need to update the certificate or
redownload it. In case the certificate is corrupted, then it won't be
empty but will contain an error message. If there is no
certificate (e.g., because the user hasn't logged in and the provider
doesn't provide anon vpn), then the "certificate" is ok but an upper
layer of the code will have to handle the situation (in this case, eip
will detect that there is no certificate and that the user needs to log
in, prompting it to do so).
OVPNGateway extracted from EIP.

Fixed a silly typo on .gitignore which was ignoring "G*"!.
Extracted EipStatus, centralizing new state notifications.

Observer pattern. The only notification is being received properly on
EipServiceFragment is the connected one. I need to fix the other UI
methods.
Eip status messages refactored.
Changing orientation, fixing...
OnViewStateRestore is available just from api 17.

We support from api 14.
EipStatus detects and notifies changes by itself.

Initial status message is "not connected", rather than "unknown".
Removed unused imports and unused .eip variables
Refresh gateways if the list is empty while starting eip.
Restore eip fragment on screen orientation.
Reordered EIP methods.

Written basic skeleton for testEIP, renamed testDashboard to start, in
the future, unit tests.
Merge branch 'bug/EIP-class-is-too-big-#6350' into develop