Updated bytefrog submodule reference.
Added the TraceConnectionLooper and removed the "connecting" state.
The looper continuously watches for new trace connections. When it gets a connection it asks for acknowledgement (example implemented in tracer/package.scala). The idea is that whatever acknowledges a trace will connect it to a project and start the trace. There is no more "waiting for connection" state for tracing targets.
Implemented the TraceConnectionAcknowledger.
Its job is to mediate between the TraceConnectionLooper (which wants acknowledgment of traces), and the user (who wants to accept or reject traces).
Also appeasing the spell checker with "acknowledgment" vs "acknowledgement".
Started work on the connection management UI.
So far, it's the gear/settings button along with the slide transitions, colors depending on the trace state, and the spinning gear. Nothing is actually wired to the backend; the trace state is changed via some testing buttons in the settings area.
Improved the ProjectSwitcher programatic api.
Calling `ProjectSwitcher.open` and `.close` now updates any associated trigger buttons' appearances ('active' state). Also, when calling `.open` when the switcher is already open, the sidebar does a shake animation to grab attention.
Added a connection message to the trace connector ui.
It slides out from under the gear button while in the 'connecting' state. Its message is slightly different depending on the page context (home page vs project page)
Moved the trace connection settings into the new settings area.
Did some js/css cleanup in the connection port/agent string form. Moved the backend snippet logic for the agent connection string out of the ProjectWidgetry so that it can be used on the home page.
Added a 'trace is running' indicator to the connection ui.
Added a 'current trace' indicator to the settings ui.
Cleaned up the CodePulse.js page detection, and added some utilities for generating links to prescribed pages. Used this in the connection settings UI, so that when a trace is running, if it is running on a different project the UI can provide a link to that project.
Also fixed an issue in parallel with ff2d2c0fef74e97018c3beda4cbc6ac2d991d6f1 to change the appearance of the javaagent string whitespace.
Added wiring between the browser and server for trace connections.
The TraceConnectorUI component now reacts to events from the server, i.e. when the TraceConnectionLooper changes state. The links in the 'connecting' message are now functional.
Added a notification when an agent disconnects during configuration.
For example, if someone runs their app with the javaagent flag, CodePulse shows its "an agent has connected" message and starts waiting for the user to acknowledge it. Then the user kills the application instead of acknowledging it (i.e. Ctrl+C). The connection looper will return to an Idle state and wait for a new connection, and CodePulse will display a notification stating that "the agent has disconnected".
Removed a couple of stray console.logs
Wired up the 'Stop Tracing' button.
Did a bit of a re-layout in the settings popup, moving the 'current trace link' and adding a 'stop tracing button' to the upper right corner.
I also removed the state testing buttons.
Removed the old trace controls.
No more big start trace/end trace button at the top of the recording controls area. I also removed an old template html file that was unused anywhere.
Removed the 'start trace' API endpoint.
Got rid of some "scar tissue" that was left behind.
Merge branch 'master' into feature/trace-connection-workflow
Merge branch 'master' into feature/trace-connection-workflow

Conflicts:
	codepulse/src/main/resources/toserve/pages/projects/trace-recording-controls.css
	codepulse/src/main/webapp/templates-hidden/trace-recording-controls.html

Hassan and I had done the same changes in parallel, but I had moved the subjects of these changes to another location, so these ones became obsolete.
Merge pull request #9 from secdec/feature/trace-connection-workflow

Feature/trace connection workflow