add non-array store,custom similarity, cleanup

* custom similarity with argument support
  cached by the name and the arguments
  called like:
    similarity => { BoostSimilarity => {} }
  from the query's settings

* upgrade msgpack to latest version
* fix autoloading to not die when the autoload folder does not exist
* copy some msgpack helper methods from the msgpack upstream
  there are cases where you dont want to encapsulate everything in array
  or a map, but you just want to dump a bunch of objects, and then
  prepend them with the type they are incapsulated in.

* clenaup some tests requiring the 'stored' name which was working,
  because it was somehow resolved by existance in the classes/ directory