Some performance optimizations and prep work for unit tests.

I've separated the data request code, and the data processing code so I can build unit tests for this.  This is in preparation for me upgrading the fql to use graph 2.1, which all new facebook applications must use use.  For more info on this issues see this issue on the main friendica repo (https://github.com/friendica/friendica/issues/1145#issuecomment-56196000).

Currently I can't get the facebook connector to work at all since I am unable to run FQL against my facebook app so someone should test this before merging it to the main branch.  Alternately, if someone wants to hook me up with a facebook appid & secret that works with the fql syntax I can test it myself. I have confirmed that my code compiles.