Merge pull request #77 from norton/norton-develop

Two new options for meck
Introduce honest mocks
Make mocks "honest" by default
Address the code inspection comments
Adjust formatting

- surround '=' with spaces;
- stay within 80 characters.
Merge pull request #75 from horkhe/feature/honest-mock

By default, only allow mocking of existing modules and functions
Introduce 'stub_all' option
Address code inspection comments
Fix {stub_all, undefined} and {stub_all, true} cases
Merge pull request #78 from horkhe/feature/stub-all

Introduce 'stub_all' option
Add test for meck:expect on file module
use a worker process to recompile modules
crash on concurrent reload of mocked module
don't log calls made during recompilation
Change from generator to real test
Refactor the solution

- get rid of the process dictionary;
- make tests run on any OS;
Code split up draft

Original meck.erl was split into:
- meck - facade for entire library;
- meck_code_gen - code generation of mocked modules;
- meck_proc - satelite gen_server for every mocked module to
  maintain state (list of mocked functions, call history);
- meck_history - module that contains history digging functions;
- meck_util - misc stuff.

Function type specs were mostly put in place.

All unit tests pass.

Dialyzer issues only 3 sane warnings see
./dialyser.ingnore-warnings for details.
Introduce meck_expect and more:

- meck_expect module was introduced to contain
  expectation construction and matching logic;
- history related types were moved to meck_history;
Address some code inspection comments:

- meck_mod was renamed to meck_code;
- cyclic dependency between meck and meck_code_gen
  was removed.
Fix support for R14B stack trace