New `deprecated` annotation

The `deprecated` annotation is used on methods to produce warnings when called in a non-deprecated method.

Instead of a simple Boolean flag, deprecation is a rich model information structure that can contains some documentation, and later be extended (eg. version information, suggested substitution, etc.).

Example:
~~~
class A
   # standard documentation
   fun foo is
      # doc for the deprecation
      deprecated
   do
     stuff
   end
end
~~~

Migration of the existing code to use `deprecated`will done in a future PR, once #719 is merged to avoid conflicts.

nitdoc need also to be extended and presents deprecation information. (see #640)
Since the deprecation documentation is autonomous, it could be displayed specifically (eg. in a colored box)