[MARKET-212] - Corrected hard link that assumed that the web app was always named "pentaho"
Merge pull request #58 from graimundo/MARKET-212

[MARKET-212] - Corrected hard link that assumed that the web app was always named "pentaho"
[CLEANUP] - Refactored xml domain entity serialisation into separate class to improve separation of concerns and to ease "mockability"
[CLEANUP] - Refactored code to facilitate creation of unit tests
- Set security helper as PluginService instance dependency instead of global static variable access
- Set document builder as PluginService instance dependency instead of global static variable access
- Refactored access to metadata plugins list to a separate service
[CLEANUP] - Refactored code to improve maintainability and facilitate unit testing
- Added parsing methods from String in MarketplaceXmlSerializer
- Moved DocumentBuilderFactory dependency from PluginService and RemoteMetadataPluginProvider to MarketplaceXmlSerializer
- Set IPluginResourceLoader as PluginService instance dependency instead of global static variable access
- Encapsulated getting Pentaho session and PluginManager in an instance method of PluginService to facilitate mocking
- Removed PluginService dependency on PluginFactory, PluginVersionFactory and CategoryFactory.
- Added PluginService dependency on MarketplaceXmlSerializer and IRemotePluginProvider. These are set via decency injection configured in the plugin.spring.xml.template.
[CLEANUP] - Added unit tests for serialization
- Implemented equals in domain entities for serialization tests