TEST Acceptance test for "exceptional" mokas

We simply rethrow any exception as it was thrown
TEST unit tests for exceptions in moka_call_handler
FUNCT support exceptions in moked functions

We transparently (almost, there are traces in the stack trace) transfer the
exception from the gen_server to the process calling
TEST Acceptance test for history in case of exceptions
FUNCT don't leak the internal exception wrapping in history entries

A better solution would be to create a proper ADT for history management
TEST make targets for dialyzer
FUNCT make git ignore the plt
BUGFIX fix a dialyzer warning
BUGFIX fix some overspecs reported by dialyzer
FUNCT some shitty specs for call history

We definitely need an ADT for this
TEST Don't xref the dependencies
TEST run the tests before the static analysis

Tests fail more often than the static checks so this order is more likely to
provide faster feedback
TEST scripts to run dialyzer depending on the erlang release

 * We don't want to run it for R14 (in the CI server) as it is too slow
 * We want to control the options per-release as it may report unwanted warnings
   or support different tests depending on the erlang release

TEST run dialyzer for R14

It is very slow, but anyway ...

DOC Add some comments

TEST don't run dialyzer for R14
DOC update the README

Add the exception handling acceptance test
DOC typos and indentation