Updated various UI elements

ConnectionList: added green padlock to encrypted connections,
changed connections that use cert auth to display cert alias
instead of connection username, added auth type in connection
subheader, updated layout refresh to prevent recreating activity,
added protected intent broadcast receiver to allow for layout
refresh when background service errors out.
ConnectionDetails: updated UI to disable "Username" field when
cert auth is used, and to allow field to be blank in that case.
AppRTCClient: updated to prevent displaying error message when
connection is intentionally stopped by the user.
SessionService: updated to send protected intent broadcast upon
erroring out.
Prompt and dialog fixes, preference addition

Added developer preference to toggle allowing the background
service staying alive outside of the AppRTC activity (default: on).
Changed authentication prompt and progress dialog to no longer be
cancellable by clicking outside the box. To cancel the auth prompt
you must click the "Cancel" button, and to cancel the progress
dialog you must click the back button.
Fixed bug where double-tapping an item in the connection list would
result in a nasty crash.
Fixed bug where lack of a session token would trigger an auth
prompt to re-open an already open connection.
Fix API level problem in SessionService

The API level check in showNotification was wrong.

Notification.Builder.build() was added in API level 16, but the runtime
check was gating on 15. This was also tripping the lint checker in gradle
builds.

Change-Id: I5cc74e3dc29ce98a0a4e609cde9013d35aad54dd
Automate creating the cert pinning trust store

Instead of making people mess about with arcane keytool command lines
and bouncy castle, why not automate it all?

Altered the build process so that it will create the client_truststore
file on demand at build time and import any .pem files it finds in the
'server_certs/' directory automatically.

Works for both ant and gradle.

Change-Id: If08adf499754391dd28eaef77d55a93640da584a
Fix activity bind concurrency issue

Prevent AppRTC Client from initiating the socket connection until
the activity first binds to the service. This mitigates concurrency
issues that were showing up where the activity wouldn't bind until
right after an AUTH_FAIL message was received, and the activity
wouldn't exit correctly.