[WIP] Making consistent component names throughout the docs

| Q             | A
| ------------- | ---
| Doc fix?      | yes
| New docs?     | no
| Applies to    | 2.2+
| Fixed tickets | -

As discussed in #3173 here's a WIP PR for making the component names consistent.

What I did throughout the whole docs:

* Remove blanks from component names, e.g. Class Loader > ClassLoader
* Remove literal formatting from component names, e.g. `ClassLoader` > ClassLoader
* In normal text: Lowercase the word *component*, e.g. The ClassLoader Component* > The ClassLoader component
* Uppercase component names where they were not, e.g. ... the console component ... > ... the Console component ...

What I did not:

* Change something that looks like a component name but is more used for the concept behind, e.g. "The dependency injection pattern ..." or "The event dispatcher system ..."
* Change ucfirst of "Component" in headings

Some things are tricky, however:

1. What about the [components entry page] (http://symfony.com/doc/current/components/index.html). Do the items on the top-most level refer more to the component or the concept? For example, it says "DOM Crawler" and then below "The DomCrawler" component. I've left this as is, so I read it like "Need a thing to crawl the DOM?" - then "The DomCrawler component" is made for you.

2. What about the index? For instance, the entry "Dependency Injection": Is this more "The Dependency Injection component" or "The Dependency Injection pattern". I've also left this as is - maybe that's just too much ;-) But in any case, below the "Components" key, I've updated everything to the correct names. In contrast, however, I've updated the "Event Dispatcher" index to "EventDispatcher" because nearly everything there refers to the component and not the concept of an event dispatcher (as for the HttpFoundation index etc.)

Please let me know if you have any suggestions.