MONDRIAN-3.4: Initial integration to mondrian-release/3.4 branch.

[git-p4: depot-paths = "//open/mondrian-release/3.4/": change = 15001]
MONDRIAN: Integration of change 15002 into the 3.4 branch.

[git-p4: depot-paths = "//open/mondrian-release/3.4/": change = 15006]
MONDRIAN: Integration of change 15003 into Lagunitas.

[git-p4: depot-paths = "//open/mondrian-release/3.4/": change = 15009]
MONDRIAN: Integration of change 15008 into 3.4.

[git-p4: depot-paths = "//open/mondrian-release/3.4/": change = 15011]
MONDRIAN: Integrates change 15014 into 3.4.

[git-p4: depot-paths = "//open/mondrian-release/3.4/": change = 15014]
Makes CellRequest.getMappedValues() return actual RolapUtil.nullValue objects instead of null pointers. Until we remove the null objects alltogether, we have to use the same consistent approach everywhere. Returning null objects was causing a false-negative match when scanning for cell data through the segments.
MONDRIAN: [MONDRIAN-1091] RoleImpl was saving member grants in a hashmap where the key was the member object. This would cause a false-negative when looking up member grants which were wrapped in a rollup wrapper.
MONDRIAN: [MONDRIAN-1094] Adds a test show how modnrian-1094 can't be reproduced on a vanilla installation.
Woopsie.
Mondrian XMLA server now omits <Axis> element for slicer axis if the query has
no WHERE clause. Fixes bug MONDRIAN-763, "XMLA returned by Mondrian gives error
in Excel with Simba O2X integration".

Note that this breaks the XMLA olap4j driver; fixed in olap4j revision 524.

Note that this issue has some history. I attempted to improve things in 13915,
always returning axis info. But sometimes the axis had a tuple with 0 members,
and Excel doesn't like that. Change 13945, contributed by Sergei Mazin, tries
to fix this issue by always including a measure in the tuple. But that caused
other problems (consider the case where a measure is already on columns), so
change 13957 backs out change 13945.
Merge branch '3.4' of github.com:pentaho/mondrian into 3.4
MONDRIAN: Fixes a failing test on Oracle. The measure order was inverted due to recent refactorings.
MONDRIAN-1058: Fail the build on compile failure
MONDRIAN: Adds the capability to use / flush the segments in the external caches for Mondrian instances that are created after the cache cluster was brought back online. I've added a SegmentCacheManager.SyncCommand that gets invoked every time we create a new RolapStar. This way, the SegmentCacheIndex is populated for newly created stars. When requests actually come in for data, we detect that Mondrian doesn't already have access to the SegmentBody and we fetch it at that time. This can't be done earlier because of the problem with CompoundPredicate serialization.
Fix bug MONDRIAN-1085, "Mondrian does not recognize [dimension].[hierarchy] in
<AggName> element for defining agg tables, even if SsasCompatibleNaming=true".
(Patch from Dan Dosch, Yahoo.)

Also fix a javadoc error and a checkFile rule.
Merge branch '3.4' of github.com:pentaho/mondrian into 3.4
Oops!
MONDRIAN: Adds a mean for the injection of SegmentCache instances. SegmentCache.SegmentCacheInjector is to be used as a last resort, in cases where Mondrian cannot dynamically load a given class and must be provided with an instance. This makes it possible for the Pentaho platform to have plugins which supply a SegmentCache implementation. Later, we can revisit this and make it OSGI compatible.
Revert "MONDRIAN: Adds the capability to use / flush the segments in the external caches for Mondrian instances that are created after the cache cluster was brought back online. I've added a SegmentCacheManager.SyncCommand that gets invoked every time we create a new RolapStar. This way, the SegmentCacheIndex is populated for newly created stars. When requests actually come in for data, we detect that Mondrian doesn't already have access to the SegmentBody and we fetch it at that time. This can't be done earlier because of the problem with CompoundPredicate serialization."

This reverts commit 4e7612ddbdde4c5d72002ad034dafbbae843fb20.
Adds some files to the ignore list for Git. Removes a useless timer that shouldn't have been committed.