Tolerate running applications when initialising metrics tests

The entire metrics_c2s_SUITE used to be skipped, since
metrics_helper:start_lhttpc attempts to start five applications, exiting
with a badmatch if any of them are already running, which crypto,
public_key and ssl are.  This patch makes it accept 'already_started'
results from application:start.

Once we drop support for anything older than R16B01, we could use
application:ensure_started/1 here instead.
Merge pull request #48 from legoscia/enable-metrics-tests

Tolerate running applications when initialising metrics tests
Add sm_SUITE stub
Add server_announces_sm testcase
Add server_enables_sm testcase
Test enabling SM before and after session initiation
Add basic acking test cases

Won't work yet - the expected numbers of handled stanzas need adjusting.
Add a series of server_returns_failed testcases
Simplify checking for an <a/> ack
Validate "h" value under various conditions
Add a slightly more complex "h" validation case
Shuffle and repeat the acking test cases
Unify spec name in all tests
Use `escalus_users:get_options/2` instead of `get_userspec/2`

This should make the suite respect global options
`escalus_host` and `escalus_port`.
Add client_acks_more_than_sent testcase stub
Add too_many_unacked_stanzas testcase
Define MOD_SM macro
Add server_requests_ack testcase
Rename cache to buffer
Make server acking go out of the way