Correct highlighting for types/specs

My second pull request fixes two bugs associated with Erlangs type system:

1. The parentheses after some directives, e.g. the `-spec` directive can be omitted, however the directive would then be highlighted as an atom.

``` erlang
-spec foo() -> { ok, bar }.
```

2. Defining record types, the `::` operator was not recognized, and types were only recognized, if defaults were set, so:

``` erlang
```