add interpolation variable matcher

here's something I'd love to use in devise-i18n 

based on something similar I made for loomio.
Please feel free to get me to rework anything that is unclear/ verbose 
perhaps what `#flattened_and_interpolation_only` should do, is instead of returning just an array of scanned keys e.g. `['user']` and `[]`    it should just return the whole string and the matcher can handle everything