Use a separate class for reading info.xml

@DeepDiver1975 @butonic @Raydiation @PVince81 
I'm not so sure about returning null in case of failure, especially if there can be multiple failure cases