Add Promise polyfill
Currently, we use provided Promises (e.g. by jQuery and vue-resource) but have no option to create them ourselves when there is no native browser support. This is especially unfortunate because PhantomJS currently doesn't support Promises (so tests would fail).
This issue needs to be solved before #24011 (moved).