Initial working on const variables

This is an initial work on `const` variables.

Const in this case, refers to the variable not the value. For example:

This is currently not allowed:

```
const a = 1;
a = 2; // change the value referred by a
```

But this is valid:

````
const a = 1;
a++;  // changes the value of a
```

It might be desirable to have both behavior, is true. But this is an initial work. To do ensure that things like the first example doesn't happens, we will have to add some support on methods and operators (say that a method or operator might or not change the object's value).

--
*Please as an effort to have more quality on the code merged to the mainstream, I would like to at least two of you guys to review my pull requests. Comments are welcome. If you think that this pull request is good to be merged into Clever's code, just say "looks good for me" or "LGTM". If the pull receive a second "LGTM", someone on the team should merge (maybe the author of the second LGTM). If not, leave a comment saying why not.*

*Please do this ASAP, so we would not have problems with merge conflicts and enable me to pull more stuff to the repository. Thank you.*