MODE-2273: Navigation using browser's forward/backward buttons
Merge pull request #1195 from okulikov/MODE-2273

MODE-2273: Navigation using browser's forward/backward buttons
MODE-2243 Fixed various WebDAV issues: XML encoding of custom property values, not returning reserved/non-used namespaces in the response & erroneous locking logic in DoPut.
MODE-2271 Updated & fixed the existing performance tests
MODE-2271 Added a new "lazy" child references implementation which will only load & cache a list of children the first time it's being asked for a child. The child references are loaded & cached in a Medium instance, which has been simplified as far retrieving SNS indexes for ChildReferences because the Medium can calculate up-front the entire SNS indexes and store them on the ChildReference instance.
MODE-2271 Fixed the logic which processed child reorderings and update the parent document, since the previous code would cause the same child (children) to be added over and over again in the parent CHILDREN array, if the parent allowed SNS. The problem wasn't visible to client because of the "hack" for https://issues.jboss.org/browse/MODE-2120.
Merge pull request #1196 from hchiorean/MODE-2243

MODE-2243 Fixed various WebDAV issues: XML encoding of custom property values, not returning reserved/non-used namespaces in the response & erroneous locking logic in DoPut.
MODE-2243 Removed LazyMedium and moved the logic of loading/parsing the child references into Medium
Merge pull request #1197 from hchiorean/MODE-2271

MODE-2271 Implemented a pseudo-lazy Medium child references
MODE-2276 Changed how child node definitions are found when adding a child

The new logic attempts to limit the need to find the number of existing children
with the same name as the proposed child, and it provides reusable components
that will improve efficiency when using a single session to adding lots of
children under the same parent.
MODE-2276 Replaced the old logic to find child node definitions with the new logic

All of the places where the old logic was being used, including in the session's
pre-save (validation), have been replaced with the newer logic added in the previous
commit. I extracted the `SiblingCounter` nested interface (added in the previous
commit) into a separate abstract class with static methods to create commonly-used
implementations. The old logic has been removed.
MODE-2266 Added more performance tests for adding lots of nodes, both in deep and flat hierarchies.
MODE-2276 Improved efficiency of methods to add/remove/check mixins

The methods no longer gets `ChildReferences` when the added/removed mixin has no
have child node definitions. And they also don't look at the properties if the mixin
has no property definitions.
Merge pull request #1198 from rhauch/mode-2276

MODE-2276 Changed how child node definitions are found when adding a child
Merge pull request #1200 from hchiorean/MODE-2266

MODE-2266 Added more performance tests for adding lots of nodes, both in deep and flat hierarchies.
MODE-2274 Java sequencer doesn't handle files with no package statement
Added a test case to verify the JdtRecorder can process Java files that do not have a package.
MODE-2277 Added the ability to avoid performing versioning and locking validations if these are not used in a repository.
Merge pull request #1203 from hchiorean/MODE-2277

MODE-2277 Added the ability to avoid performing versioning and locking validations if these are not used in a repository.
Updated the README file

Modified the text to be a bit more explicit about the contributor expectations, since we no longer require a contributor license agreement (CLA).
MODE-2272 Java Sequencer Should Be Thread-Safe
The JavaFileSequencer was holding state by a field referencing the source file recorder. I removed that field and now the sequencer creates a new JdtRecorder each time JavaFileSequencer.execute is called. Also removed some constants and a method that was not being used. Test case also added. However, on rare occasions, running the test case in Eclipse still throws the NodeNotFoundInParentExceptiondocumented in the issue.
Test case is now being ignored.