revises the documentation of Module#const_defined?

This patch revises the documentation of `Module#const_defined?`. Changes are:

* It documents autoload logic.
* It documents that `const_missing` is not called if the constant is not present.
* It inserts examples as the material they depict is introduced (instead of just one chunk at the end).
* Removes parens from the sentence that says that `Object` is checked if the receiver is a module since that's a regular step of the lookup algorithm, not something to be deemphasized.
* Revises some indentation.
* Uniformizes the distance from code to "#=>"s to 3 spaces (mod vertical alignment).
Note that it also searches the modules included in Object:
```ruby
> module M; C=42; end
> module N; end
> N.const_defined? :C
=> false
> include M
> N.const_defined? :C
=> true
```