vs: added determinedRemoteOffset + tests
vc: split up _addAllToDAG into seperate sub-routines + added _ensureAllInDAG

new routines:
_ensureSamePerspective
_ensureM3
_checkAncestry
_ensureOneHead
_ensureVirtualCollection
_checkParentsInVirtualCollection
_mergeNewHeads
_insertIntoSnapshot
_syncLocalHeadsWithCollection
vc: added param checks to new routines
vc: added test for _ensureOneHead
vc: added test to show _ensureLocalPerspective can handle multiple heads

added test to show _ensureOneHead does not fix multiple heads
vc: _branchHeads has now possibility to omit conflicted versions
vc: added routine _markConflict and implemented _ensureOneHead to work with it + test
vc: clarified some function descriptions
vc: added _ensureLocalPerspective2, _markConflicts, changed _ensureAllInDAG

Duplicated _ensureLocalPerspective to return the versions that already exist
so we can continue with the process. Removed extra _ensureOneHead in
_ensureAllInDAG. Also now marking conflicted heads.
vc: added _ensureIntoSnapshot

when a version is processed twice due to a crash, it is only being inserted
once and does not raise an error
vc: Added check to _markConflicts: items should be from same DAG pe
vc: moved _c from _id to _m3
vc: changes concerning marking conflicts

vc: Added tests for _markConflicts
vc: _mergeNewHeads: mark _m3._c in case of merge conflict
vc: _markConflicts: omit _m3._c in case of no conflict
vc: _ensureLocalPerspective2: copied _m3 bugfix from _ensureLocalPerspective
vc: _checkAncestry, process.nextTick for cb
vc: fixConsistency, _ensureAllInDAG, _ensureLocalPerspective2 as _ensureLocalPerspective

added fixConsistency tests
removed addAllToDAG and old _ensureLocalPerspective
fixed bugs + tests where needed
vc: added tests for new methods
fixed tests for versioned_collection.js