Allow db export to accept all mysqldump args
Add assoc arg for arbitrary mysqldump args

Props @danielbachhuber
Add a --recurse-objects flag

Including --recurse-objects enables recursive find/replace into objects.

This change also detects cycles in objects and arrays. If a cycle is
detected, or the XDebug max nesting level is reached, the function stops
recursing
site create: fix description for --title= parameter
Merge pull request #817 from x-team:mysqldump-extra-args
Update documentation header for recursive_unserialize_replace
Update array handling for safer recursive replacements
remove duplicated check
Don't look for WP files upward when running `wp core download`.

If you run `wp core download` in an empty directory, getting an "Error:
WordPress files seem to already be present here." message is quite
confusing.

see #955
Merge pull request #955 from wp-cli/fix-955

`wp core download` picks up outer installs
Move recursive search-replace function to Utils and add unit tests
Merge pull request #951 from CodeAwhile:recursive-search-replace
remove unnecessary requires; see #951
word-wrap command descriptions
manually wrap long line in search-replace description
remove reference from $data parameter; see #951

also, improve parameter descriptions
convert recursive_unserialize_replace() function to a class

benefits:

- avoids exposing intermediate recursion variables, such as
  $recursion_level
- clearer which elements are constant and which change

see #951