Updated default parser regex to parse more complex log lines

This PR updates the *default* regex in the LineLogParser to handle more complex log lines.  Specifically, it allows for:

1. Spaces within the message string
2. Nested arrays in context and extra
3. Spaces within context/extra array values

Additionally, I refactored the LogParserTest to:

1. Use a dataProvider to define log data
2. Dynamically inject the current timestamp into each log line, avoiding the need to change the dates when running tests.