fontify most magit `with' and `define' macros

In libraries that are part of Magit automatically add font-lock
keywords for macros like `magit-define-command' and
`magit-with-section'.  This can be turned off by setting
`magit-add-font-lock-keywords' to nil.
autoload forms required for fontification of magit macros

* If magit is already loaded then the keywords are added without the
  user seeing any warnings.
* If magit is only autoloaded then it is loaded and the keywords are
  added without the user seeing any warnings.
  * If magit is autoloaded but not on the load-path the user will see
    (but likely not notice) this error:

,----
| File local-variables error: (file-error "Cannot open load file" "magit")
`----

* If magit is neither loaded nor autoloaded user will see this
  message:

,----
| The local variables list in /path/to/magit.el
| contains values that may not be safe (*).
|
| Do you want to apply it?  You can type
| y  -- to apply the local variables list.
| n  -- to ignore the local variables list.
| !  -- to apply the local variables list, and permanently mark these
|       values (*) as safe (in the future, they will be set automatically.)
|
|     indent-tabs-mode : nil
|     tab-width : 8
|   * eval : (require (quote magit))
|   * eval : (magit-maybe-add-font-lock-keywords)
|
| Please type y, n, or !:
`----

  * If she sais "y" magit is loaded and the keywords are added.
    * Unless magit isn't on the load-path, in which case she gets.

,----
| File local-variables error: (file-error "Cannot open load file" "magit")
`----

  * If she sais "n" magit isn't loaded and the keywords aren't added.
  * If she said "!" in a _previous_ session she won't see the y/n/!
    question (as there are no unsafe local variables) but instead gets.

,----
| File local-variables error: (file-error "Cannot open load file" "magit")
`----