Add typer target

This patch adds a typer target to the Makefile. It makes it easier for developers to start adding specs to the codebase. It also has a build_plt target with the built-in applications typer needs to analyze rebar.
Yes. The exit code on the dialyzer is usually non-zero. For example, this `build_plt` target on R16B03-1 yields:

```
ninefx-mbp:rebar nine$ dialyzer --build_plt --apps  erts  kernel  stdlib  crypto  compiler  asn1  eunit  tools  ssl  edoc  reltool  snmp sasl
  Compiling some key modules to native code... done in 0m25.09s
  Creating PLT /Users/varnerac/.dialyzer_plt ...
eunit_test.erl:305: Call to missing or unexported function eunit_test:nonexisting_function/0
Unknown functions:
  dbg:ctp/1
  dbg:p/2
...
Unknown types:
  erl_syntax:syntaxTree/0
  inet:ipaddress/0
...
 done in 1m18.69s
done (warnings were emitted)
ninefx-mbp:rebar nine$ echo $?
2
```

It's not really an error that the user should worry about. They'll still have the text output to make an informed decision. I typically write my `dialyzer` to depend on `build_plt`. It doesn't rebuild it every time, but checks that it's up to date. I use it in my `precommit` target where I execute:

`distclean get-deps build-deps ct edoc dialyzer `

to make sure I didn't break any portion of the project.

If we don't ignore the return code, which I think we all agree isn't an "error", we can't depend on the target elsewhere in the `Makefile` nor chain targets together from the commandline.