Update shipped truststore to match Mozilla's shipped CAs

I don't think we should be maintaining our own set if at all possible, this
patch was created by creating a new keystore and inserting every certificate
from an Ubuntu system's Mozilla ca-certificates set:

rm -f ./src/security/truststore
for x in /usr/share/ca-certificates/mozilla/*.crt; do
	y=`basename -s .crt $x`
	keytool -import -storepass changeit -keystore ./src/security/truststore -alias $y -file $x -noprompt
done
OF-405 : Perform proper path validation on certificate chains

What this patch actually does is place existing certificates into a CertStore,
including those from its (untrusted) keystore, the trust store, and any from
the chain supplied by the peer, and then rebuild a chain back to a known trust
anchor (from the trust store).

This strategy will cope with unknown ICAs in chains, abbreviated chains, and so
on, and replaces attempts to specifically handle self-signed certificates.

That last said, there is an explicit shortcut to handle self-signed certificates
which are supplied as end-entity certificates. These are simply checked against
the trust store without any attempt to build a path.
OF-405 Addressing review comments from Simon White
OF-405 Addressing comments from Tom Evans

 - Always check validity of EE Cert
 - Change variable name (and flip sense).
Extract more properties related to connections
Merge pull request #34 from SvenBunge/propertyExtract

Extract more properties related to connections
Jitsi Videobridge Plugin - Refresh with Jitsi Github
Update Slf4J to version 1.7.7
Update Junit to 4.11 and add hamcrest - because the method assertThat is working with hamcrest matchers
Merge pull request #35 from SvenBunge/slf4j_177

Update Slf4J to version 1.7.7
Merge pull request #31 from SvenBunge/updatejunit411

Update Junit to 4.11
OF-405 Comments from Sven Bunge addressed
OF-819 IQs of type error get falsely routed to IQ.createResult() which results in an Exception and connection termination

This can happen, if the session is in wrong status (e.g. if the user has not yet authenticated) and the client responds with an error IQ.
Only reply to an IQ if it is type get or set.
Merge pull request #37 from sco0ter/of819

OF-819 IQs of type error get falsely routed to IQ.createResult() which r...
Merge pull request #29 from surevine/dwd/OF-405

OF-405 - TLS certificate validation and authentication issues