ARROW-1563: [C++][FOLLOWUP] Use std::function instead of declaring auxiliary helper classes
ARROW-1563: [C++][FOLLOWUP] Use std::function instead of declaring auxiliary helper classes

Author: Wes McKinney <wesm+git@apache.org>

Closes #2475 from wesm/use-std-function and squashes the following commits:

d94fb95c <Wes McKinney> Use std::function instead of declaring auxiliary helper classes

xhochy/arrow,xhochy/arrow,laurentgo/arrow,laurentgo/arrow,cpcloud/arrow,xhochy/arrow,cpcloud/arrow,kou/arrow,itaiin/arrow,xhochy/arrow,icexelloss/arrow,cpcloud/arrow,kou/arrow,cpcloud/arrow,wesm/arrow,cpcloud/arrow,cpcloud/arrow,laurentgo/arrow,icexelloss/arrow,wesm/arrow,wesm/arrow,majetideepak/arrow,itaiin/arrow,icexelloss/arrow,itaiin/arrow,pcmoritz/arrow,tebeka/arrow,pcmoritz/arrow,kou/arrow,renesugar/arrow,apache/arrow,wesm/arrow,kou/arrow,tebeka/arrow,laurentgo/arrow,apache/arrow,itaiin/arrow,itaiin/arrow,apache/arrow,kou/arrow,icexelloss/arrow,itaiin/arrow,xhochy/arrow,renesugar/arrow,xhochy/arrow,renesugar/arrow,kou/arrow,icexelloss/arrow,renesugar/arrow,xhochy/arrow,apache/arrow,xhochy/arrow,apache/arrow,icexelloss/arrow,pcmoritz/arrow,kou/arrow,wesm/arrow,cpcloud/arrow,majetideepak/arrow,wesm/arrow,majetideepak/arrow,wesm/arrow,kou/arrow,xhochy/arrow,kou/arrow,icexelloss/arrow,icexelloss/arrow,apache/arrow,cpcloud/arrow,pcmoritz/arrow,renesugar/arrow,majetideepak/arrow,apache/arrow,icexelloss/arrow,cpcloud/arrow,xhochy/arrow,laurentgo/arrow,wesm/arrow,pcmoritz/arrow,apache/arrow,apache/arrow,itaiin/arrow,icexelloss/arrow,tebeka/arrow,laurentgo/arrow,xhochy/arrow,apache/arrow,apache/arrow,tebeka/arrow,pcmoritz/arrow,majetideepak/arrow,icexelloss/arrow,renesugar/arrow,laurentgo/arrow,cpcloud/arrow,majetideepak/arrow,itaiin/arrow,kou/arrow,laurentgo/arrow,majetideepak/arrow,cpcloud/arrow,pcmoritz/arrow,itaiin/arrow,renesugar/arrow,renesugar/arrow,renesugar/arrow,pcmoritz/arrow,majetideepak/arrow,renesugar/arrow,majetideepak/arrow,laurentgo/arrow,tebeka/arrow,laurentgo/arrow,renesugar/arrow,xhochy/arrow,laurentgo/arrow,itaiin/arrow,majetideepak/arrow,tebeka/arrow,wesm/arrow,itaiin/arrow,cpcloud/arrow,xhochy/arrow,pcmoritz/arrow,wesm/arrow,pcmoritz/arrow,kou/arrow,renesugar/arrow,icexelloss/arrow,majetideepak/arrow,kou/arrow,laurentgo/arrow,laurentgo/arrow,cpcloud/arrow,laurentgo/arrow,pcmoritz/arrow,itaiin/arrow,renesugar/arrow,tebeka/arrow,itaiin/arrow,wesm/arrow,tebeka/arrow,laurentgo/arrow,majetideepak/arrow,wesm/arrow,kou/arrow,wesm/arrow,wesm/arrow,itaiin/arrow,pcmoritz/arrow,majetideepak/arrow,apache/arrow,kou/arrow,apache/arrow,icexelloss/arrow,xhochy/arrow,cpcloud/arrow,itaiin/arrow,xhochy/arrow,pcmoritz/arrow,tebeka/arrow,renesugar/arrow,majetideepak/arrow,tebeka/arrow,icexelloss/arrow,pcmoritz/arrow,apache/arrow,pcmoritz/arrow,majetideepak/arrow,renesugar/arrow