Convert YAML config to XML config and create parameters for class names.

@phiamo Most of the other big projects use XML so I figured we'd standardize this a bit. I also created parameters for all of the services so it is possible for people to change the parameters if they need to. I would definitely double check this before merging it. I figure since we already created a BC break might as well do this. It's pretty unlikely that this will create many (if any) BC breaks but it is a possibility.