Properly split attribute strings, even if they have sub attributes

The SDK improperly procesess both search strings and server
responses for said search strings, if the original search string
contains filters between '[]' and said filter contain a '.'.

Example:
Original search string: History[Status.Name='Done']
This will be processed as ["History[Status", "Name='Done']"]