- Client now checks if daemon is running and starts it if needed
- Finds daemon binary based on client executable location
- Waits for daemon to start up before continuing
- Also implements proper handling of --shutdown flag
- Improves user experience by removing need to manually start daemon