Remove "prototype" from abstract definition IDs; note possible conflicts

Due to the naming of transformer, listener, and finder services, it's possible for index/type services to clobber the ID of another concrete or abstract service. This cannot be helped without breaking BC, but we should note it within the extension class.
Do not clobber existing client definitions (closes #336 and #324)

While we could have used an abstract definition, its ID would likely conflict with the alias we set for the default client. Remove the abstract definition altogether and simply construct new definitions for each client. This resolves the previous issue where multiple clients would overwrite the constructor arguments of the previous definition.
Merge pull request #339 from FriendsOfSymfony/2.0.x-definition-decorators

2.0.x definition decorators
Merge branch '2.0.x' into 2.1.x
Merge branch '2.1.x'

Conflicts:
	Resources/config/config.xml
Tag client services in DI extension class

These tags were originally introduced in 16ecd7cca306063a0fff9ac27d38af3f416e98f5. #339 removed the fos_elastica.client definition from config.xml, so this tag needs to be added via the DI extension class now.