Making it possible to have concrete projects with different base PLTs

Previously you couldn't really have several concrete projects using different
`$(ERLANG_DIALYZER_APPS)' lists, nor distinct erlang versions; or you had to
nuke your  ~/.dialyzer_plt file every time.

We now generate a base PLT ID that depends only on your
`$(ERLANG_DIALYZER_APPS)' list and erlang version if you have either BSD's
`md5' or OpenSSL's `md5sum' around, otherwise we just rely on the project name
and erlang version to generate the ID.