If you are rooted, you can get this behaviour by installing the Xposed Framework and then getting the XPrivacy module that is available for it. It allows you to permit/deny any requests for your information, and if you choose to deny them, it'll return empty/fake data (which is configurable).
It feels unreasonable that you have to go to these lengths to get this behaviour that should be built-in, but it's the best available currently.
Another method of getting similar behaviour is to enable the App Ops functionality which is built into Android 4.3 and 4.4, which allows you to enable/disable permissions in a granular fashion. The downside to this method is that if an app tries to use a permission that you have denied it access to, it might crash the app.