Avoid publishing empty branches

Refs that point to the empty commit should not be synced in push/pull
Updated the web-api documentation.
Merge pull request #680 from dwins/no-null-refs-in-push-and-pull

Avoid publishing empty branches
Merge pull request #683 from kelseyishmael/webapiDocUpdate

Updated the web-api documentation.
 Make JEStagingDatabase.*Conflict() methods always synchronize full conflict's file path

This simplifies the code and avoid possible race conditions, and also
doesn't create unnecessary empty conflict files every time ConflictInterceptor
checks whether there are conflicts.
Merge pull request #678 from groldan/concurrency

Fix concurrency issues with the file ref database and JE staging area
Faster check for conflicts before running every command.

This patch adds a hasConflicts(String ns):boolean method to
StagingDatabase as a faster check for ConflictInterceptor
to verify if the command cannot be run when conflicts exist.

Previously, ConflictInterceptor was loading the full list
of conflicts to check for its size, which can be really slow
if the number of conflicts is large.