revises the documentation of Module#const_defined?

This patch revises the documentation of `Module#const_defined?`. Changes are:

* Describes first the default behavior.
* Documents autoload logic.
* Documents that `const_missing` is not called if the constant is not present.
* 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).
Interestingly, this is true for `const_defined?`, but you cannot access these with `mod::`
```ruby
> Kernel::K=4
> K
=> 4
> Enumerable.const_defined? :K
=> true
> Enumerable::K
NameError: uninitialized constant Enumerable::K
> String::K
=> 4
```