split out core from grunt-esri-slurp

In node, my perspective is that things should be written that it can be used by other node modules if necessary.  The was my initial difficulty with grunt-esri-slurp.  The code did what I needed it to, but it didn't provide a way for me to use it without using grunt.  By moving the core code to this project, anyone can use it.  But they would use it programmatically. Your grunt plugin can use it and a gulp user can use it and any other node code can use it however they see fit.  Now back to your question, I think the programmers using the core code should decide how to inform the user.  So, your grunt plugin chooses to use the progress module, which makes it look really great.  That kind of feedback doesn't work with gulp, so a gulp programmer should be able to choose what makes sense to them.  So in my mind, the programmatic interface shouldn't be concerned with user feedback because that isn't the target audience.  Related to that, we could add a simple CLI to this project so that user could use it.  Then you could do something like `>esrislurp --version 3.11` and it would run from the command line.  In that code, it is appropriate to provide feedback to the user with logging or other means.