Caching build numbers of builds that don't exist on disk

This should reduce the amount of disk checking we are doing on the builders page dramatically

- Maxed the amount of build searching we do for the latest build on builder json
Merge branch 'staging' into katana
Merge branch 'staging' into katana
Merge branch 'staging' into katana
Merge branch 'staging' into katana
Fixed a bug where build logs would not show until the build was finished
Added pushing data to the autobahn server

This will use a hybrid PUSH/PULL service, so that we don't need to completely re-write the front-end to deal with smaller parts of the information coming in one at a time.
Once changes have been detected Katana will poke the relevant autobahn server telling it that a specific event has happened with a series of properties.
The autobahn server will then check its registered URLs looking to see if the filters match the properties given, if they match then the URL will be allowed to poll.

Note: The PUSH URLs are still subject to the same poll interval as any of the POLLING ones on top of the check for the PUSH of data

- Added PUSH filters for the global JSON and the builders JSON
- Reduced the allowed updates on the front-end down to 500ms so that we can start doing things a little more instant if we desire
Fixed bugs in the PUSH to autobahn

- Fixed a bug where numbers would be ignored when filtering
- Fixed a bug where reconnecting after autobahn died would cause JS errors
Added push filters for a build JSON
Fixed a bug when we have multiple filters

Now we are allowing all filters to be checked before returning True, if any are False we can return immediately
Added push filters for builder page
Removed unnecessary code
Fixed a bug where all events were triggering pushes

- Added some logging to help with what events are being pushed by the server
Added push filters for the queue page
Fixed multiple bugs in the filter matcher
Fixed a bug in the data being sent by a buildStarted
Added push filters for slave pages
Fixed a bug in the filter match

- Added comments to make it clear what is happening
Fix minor bug in the builder page when requesting number of builds
Fixed a bug when requesting builds json when the slave has built less than the number given