Add debug-level logging to ajax check

The js now returns dict with relevant keys and `True/False` values (which are then logged, if True) instead of just a single bool.

Update: Should be thread-safe and less spammy; logs the message only if it's different from the last one.

Example log:
```
2014-07-17 13:11:05,885 [D] Finished filling in form (utils/log.py:411)
2014-07-17 13:11:06,426 [D] Ajax running: jquery, spinner (utils/log.py:411)
2014-07-17 13:11:13,705 [D] Ajax done (utils/log.py:411)
2014-07-17 13:11:13,753 [I] Navigating to infrastructure_providers (utils/log.py:411)
2014-07-17 13:11:21,598 [D] force_navigate to infrastructure_providers, try 1 (utils/log.py:411)
2014-07-17 13:11:21,658 [I] Navigating to infrastructure_providers (utils/log.py:411)
2014-07-17 13:11:23,807 [D] Ajax running: document (utils/log.py:411)
2014-07-17 13:11:23,936 [D] Ajax done (utils/log.py:411)
2014-07-17 13:11:25,010 [D] Provider "XYZ" exists, skipping (utils/log.py:411)
2014-07-17 13:11:25,011 [D] force_navigate to infrastructure_hosts, try 1 (utils/log.py:411)
2014-07-17 13:11:25,053 [I] Navigating to infrastructure_hosts (utils/log.py:411)
2014-07-17 13:11:30,310 [D] force_navigate to infrastructure_hosts, try 1 (utils/log.py:411)
2014-07-17 13:11:30,355 [I] Navigating to infrastructure_hosts (utils/log.py:411)
2014-07-17 13:11:33,073 [D] Ajax running: document (utils/log.py:411)
2014-07-17 13:11:33,183 [D] Ajax done (utils/log.py:411)

```
This is all happening in the local scope of a function with no asynchronous action that I can see. What's the need for `thread_locals`?

Even if it is needed, it looks like you can use `_thread_local.ajax_log_msg only`, `ajax_log_inited` isn't really needed.