added support for creating Cloudant Search indexes

this works just like design doc support for "filter" except allowing for the creation of Cloudant search indexes instead of filters.  

ex:
design do
   view :by_user
    index :users, :index => 'function(doc){
      index("email", doc._id);
    }'
end

Also to query the index and get back casted models..
ex:  
results = User.search('users', 'email:foo@*', :limit => 1, :sort => 'email<string>') => [#<User email: "foo@bar.com", "_id: "300db03e1cf83820ed699e7d120f064f", "type" => "User">]
results.total_rows => 5
results.bookmark => 'loripepsomloripepsomloripepsomloripepsom'