Demo for query storing

Change-Id: I947bcac841992c3f6cfd01ab337c265b0d01cb70
diff --git a/node_modules/find-up/index.js b/node_modules/find-up/index.js
new file mode 100644
index 0000000..7ff0e2b
--- /dev/null
+++ b/node_modules/find-up/index.js
@@ -0,0 +1,53 @@
+'use strict';
+var path = require('path');
+var pathExists = require('path-exists');
+var Promise = require('pinkie-promise');
+
+function splitPath(x) {
+	return path.resolve(x || '').split(path.sep);
+}
+
+function join(parts, filename) {
+	return path.resolve(parts.join(path.sep) + path.sep, filename);
+}
+
+module.exports = function (filename, opts) {
+	opts = opts || {};
+
+	var parts = splitPath(opts.cwd);
+
+	return new Promise(function (resolve) {
+		(function find() {
+			var fp = join(parts, filename);
+
+			pathExists(fp).then(function (exists) {
+				if (exists) {
+					resolve(fp);
+				} else if (parts.pop()) {
+					find();
+				} else {
+					resolve(null);
+				}
+			});
+		})();
+	});
+};
+
+module.exports.sync = function (filename, opts) {
+	opts = opts || {};
+
+	var parts = splitPath(opts.cwd);
+	var len = parts.length;
+
+	while (len--) {
+		var fp = join(parts, filename);
+
+		if (pathExists.sync(fp)) {
+			return fp;
+		}
+
+		parts.pop();
+	}
+
+	return null;
+};