Implementation 'then', queue/effects promises & 'when' with any object

Hi Julien, 

In this pull request there are two things:
1.- Promise.then should handle promises returned by filter functions, I have updated the wiki document to explain how pipelining works.
2.- A small change in JsUtil.runJavascriptFunctionImpl() so as we always return a java object. I have re-factorized the code in JsCache to re-use the same boxing method