www.reperion.com (freeware/basic version) will do all three, it even has a invisable mode on startup, and with texts codes you can start and stop data via text msg from a remote site...pretty nice software..and track of course via either google earth/microsoft live and a sort of anti-theif mode incase you lose you phone and need to know where it is, GPS upload data to the server is either sent via a data connection evdo..etc or by sms "text". Upload times set by user for auto upload or can be done manual.
Or if you really want to go hard core as in spying....lol..... try
www.flexispy.com , but it will cost.
Pro X "New":
Environment Listening ( bugging device)
GPS and Cell ID Location Tracking
Call Interception (listen to phone call)
Email Logging (incoming/outgoing)
Call History (incoming/outgoing)
Call Duration (incoming/outgoing)
Contact Name in Address book linked to each call/sms
FlexiTRACK - SIM Change SMS Notification (Receive SMS when your mobiles SIM is changed)
Download all records to spreadsheet
12 months unlimited device changes, Web account and upgrades