Unit test dpl_ctx_new()

which was a whole lot harder than it looked.  Had to use a horrible
Linux-specific trick to mock the getpwuid() function.
More unit tests for dpl_ctx_new()

- test effect of environment variables DPLDIR and DPLPROFILE
- test creating a context from a dict, with no profile file
- test setting almost all the parameters in the profile
  including SSL data
- moved the tests into a new .c file, the entirety of which
  is Linux-specific.
Fix memleak when setting base_path in the profile

the default value is a strdup()ed string which is not free()d
when overwriting its value.  Also change the other string parameters
for consistency.
Check SSL_CTX_new() return for NULL

although this only happens when the programmer forgets to call
dpl_init() so the SSL library is initialised.
Print longer stack traces in Valgrind.
Add a --debug option to alltests

which is helpful when running it under a debugger.  Also --verbose.