First cut at base class for connection string parsing.

This is the base parsing logic to take a connection string and split it up into the appropriate fields. I chose to set this up so that you use an actual class with properties for each of the fields in the connection string, rather than returning a generic dictionary. This should be a lot easier to work with.

This is currently in the services/core/utils package, as I expect we'll have several different connection string parsers for different services. This part should therefore be somewhere common. Let me know if this isn't the right place to put it.