Further clean-up of ActiveSupport::Callbacks

In #11195 I noticed a trailing comma in the docs, but I decided to further clean it up.

What I have done:

* Clean up the trailing comma in the docs and some extra whitespace lines.
* Used `Array#extract` options to factor the repetitive pattern of `args.last.is_a(Hash) ? ...`
* Renamed the local var `config` to `options` in `define_callbacks`, as `options` seems to be the de facto name for the options objects.
* Renamed the local var `l` to `line` in `define_callback` (maybe it meant `lambda` in the context) as single `l` may look like `1` in some fonts.

/cc @carlosantoniodasilva