Add typespecs for builtins, __record__, and __struct__

Added typespecs for:

- __FILE__/1
- __MODULE__/1
- __info__/1
- __record__/1, __record__/2, __record__/3
- __struct__/0
Merge pull request #2281 from bitwalker/please-the-dialyzer-gods

Add typespecs for builtins, __record__,  __struct__, exception
Make exception specs match the ones defined in callback
Improve docs for string, process and supervisor
Deprecations should go to standard_error
Do faster expansion on rewrites