Take a look at Setting Profiles (
Home Useful Android Apps). It does almost everything you asked, except GPS and wireless location (from android v1.5 google does not allow any app modify GPS settings. Except it's own system settings). In additional to manual switch automated rules are supported (for example activate power saving profile if battery is below 20%)