MB-7367: try starting os_mon each time we need disk usage data

I.e. so that os_mon crash due to timeout can't harm us.

Change-Id: Iaca935cb33c032f12da6f4f2842e3370815ae205
Reviewed-on: http://review.couchbase.org/23099
Reviewed-by: Aliaksey Artamonau <aliaksiej.artamonau@gmail.com>
Tested-by: Aliaksey Artamonau <aliaksiej.artamonau@gmail.com>
MB-7368 Ensure that db and index paths are normalized.

Previously after installation couchbase server would have a database
path with trailing slash in it. On index_path change, this trailing
slash would be stripped, which would make the server think that
database path had changed. And hence all buckets would be removed. To
avoid this, two things has been changed:

 1. Trailing slash removed from default database path in capi.ini.
 2. To be completely sure and to support upgrade from pre 2.0 customer
 release, set_db_and_ix_paths and get_db_and_ix_paths are also changed to
 always set/return normalized paths.

Change-Id: Ic1f2c52df2c5dc25e03f4050267f10e7168a5586
Reviewed-on: http://review.couchbase.org/23108
Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
MB-7344: don't allow changing data path of provisioned nodes

So things are somewhat complicated. We started deleting all buckets on
path config change as part of original docloader integration
work. There's no much traces of this left and commit message is quite
short but I assume that's to clear sample buckets if somebody hits
reload while in middle of setup wizard.

Then MB-6423 "allow users to change index path at runtime" was
reported and we changed logic to only delete buckets when data path
changes. Not all the time.

And after that we filed and fixed MB-5669 "data files are preserved
after failover on a node with non-standard db path". That one is a bit
complex. We already have quite complex logic if handling "preserve
data files on failover but get rid of them when node is reused"
logic. Essentially when 2.0 node has custom data path and is failed
over. It will _keep_ custom data path and keep data files. When
somebody adds it back without changing data path, we get rid of data
files first, per our original logic. _But_ if somebody changes data
path back to default or other custom path we originally left data
files intact. So we added logic of deleting all "unused" bucket db
files if path is changing.

All this time we (ns_server team) were totally unaware that we have
documented and supported procedure that relies on implementation
details on 1.8.x behavior. I.e. here:
http://www.couchbase.com/docs/couchbase-manual-2.0/couchbase-data-files.html

The problem is, seemingly, we can't have both "failover preserves data
files" and that documented procedure above.

In order to avoid hitting issues for people aware of old procedure we
decided to prevent that possiblity of changing data path of
provisioned nodes completely.

Change-Id: Iceda1b7f40708fd2e032fcb94fd537d2b1788c1d
Reviewed-on: http://review.couchbase.org/23113
Tested-by: Aliaksey Artamonau <aliaksiej.artamonau@gmail.com>
Reviewed-by: Aliaksey Artamonau <aliaksiej.artamonau@gmail.com>
MB-7193: Make Views work that contain slashes

MapReduce and Spatial Views that contained slashed in either the
Design Document or the function name didn't work.

Those three commits need to be merged at the same time:
http://review.couchbase.org/23138
http://review.couchbase.org/23175
http://review.couchbase.org/23139

Change-Id: Ic40a6784667459af16a229aec755aee0f8d784da
Reviewed-on: http://review.couchbase.org/23139
Reviewed-by: Filipe David Borba Manana <fdmanana@gmail.com>
Tested-by: Filipe David Borba Manana <fdmanana@gmail.com>
Merge remote-tracking branch 'couchbase/2.0.1' into HEAD

* couchbase/2.0.1:
  MB-7193: Make Views work that contain slashes
  MB-7344: don't allow changing data path of provisioned nodes
  MB-7368 Ensure that db and index paths are normalized.
  MB-7367: try starting os_mon each time we need disk usage data

Change-Id: I52125cb20e905c6515a2511be7963a15c210897a