Defs

More fixes for syntax highlight. Now,`def`, `defp`, `defmodule`, `defprotocol`, `defimpl`, `defrecord`, `defrecordp`, `defmacro`, `defmacrop`, `defdelegate`, `defoverridable`, `defcallback` and `defexception` are highlighted as `Define`. Also define concept of declaration for each for these defs.

![defs_example](https://f.cloud.github.com/assets/2074433/596963/1001a5cc-cbcc-11e2-9981-6419fca23401.png)

Much work in this PR. Some QA would really be appreciated. Just to remind, a good way of doing so is with this command

```vim
echo map(synstack(line('.'), col('.')), 'synIDattr(v:val, "name")')
```