Refs #100707 Add initial version of command line utility ccnsyncwatch to use Sync library interface to observe sync activity.
Refs #100707 Set empty initial values for topo and prefix in ccnsyncwatch to avoid error if no arguments given.
Add argument error checking.
Refs #100707 in CompareAction, doPreload() on both local and remote trees.
     Modify SyncRemoteFetchResponse to fill in local cache entries as well as remote.
     Modify doComparison to fetch local cache entries using the NodeFetch instead of local repo fetch
     Calls to cacheEntryForElem() need to always use the remote flag, though they will actually be
     	   unlikely to have any effect, since all nodes are preloaded.
Refs #100707 Add comments regarding implementation plan for starting at at current root.
Refs #100707 Make ccns_slice and ccns_handle structures opaque.  Move from sync.h to ccn_sync.c.
Refs #100707 Implement starting at current root hash.  Update ccnsyncwatch command to take -r \'\' for current.
Refs #100707 Updated documentation in ccn/sync.h
refs #100707 Merge remote-tracking branch 'origin/100707-sync-library-interface'

* origin/100707-sync-library-interface:
  Refs #100707 Add comments regarding implementation plan for starting at at current root.
  Refs #100707 in CompareAction, doPreload() on both local and remote trees.      Modify SyncRemoteFetchResponse to fill in local cache entries as well as remote.      Modify doComparison to fetch local cache entries using the NodeFetch instead of local repo fetch      Calls to cacheEntryForElem() need to always use the remote flag, though they will actually be      	   unlikely to have any effect, since all nodes are preloaded.
  Add argument error checking.
  Refs #100707 Set empty initial values for topo and prefix in ccnsyncwatch to avoid error if no arguments given.
  Refs #100707 Add initial version of command line utility ccnsyncwatch to use Sync library interface to observe sync activity.
  Refs 100707 Add missing ccns_slice_set_topo_prefix() to sync.h
  Refs #100707 Reintroduce a required stub after overly aggressive code pruning.  First cut at setting starting root hash.
  Refs #100707 Remove an unnecessary stub and #define.
  Refs #100707 Rename ccnr_msg() to ccns_msg() and #define this where sync code is #included; ditto ccns_accession_encode and ccns_hwm_update.
  Refs #100707 Change library search order to search libsync.a before libccn.a for building ccnr so that it gets the full implementations of functions that are stubbed out in libccn.a
  Refs #100707 Move ccnr_usage_message to static definition in ccnr_main.c, remove extern reference in ccnr_msg.h
  Refs #100707 Import initial version of API for sync used as a client library.
  Refs #100707 Move getEnvLimited inside #ifdef SYNCLIBRARY as it is only used by code not compiled in that case.
  Refs #100707 Convert from ccnr_handle * to void * in SyncActionData structure corresponding to SyncBase change
  Refs #100707 Convert from ccnr_handle * to void * in SyncBase structure for sync library usage.
  Refs #100708 Fix implementation of SyncNodeIncRC()
  Refs #100707 Fix inconsistent declarations of 6 external procedures.
  Refs #100706 Destroy any schedule associated with a handle when the handle is destroyed.
  Refs #100706 Fix comments and line-breaking.
  Refs #100706 Integrate event schedule into ccn_run()
refs #100707 Cleanup white space
refs #100675 Merge remote-tracking branch 'origin/100675-signing-digest-algorithm'

* origin/100675-signing-digest-algorithm:
  Refs #100675 Adjust use of DigestAlgorithm to be compatible with the design intent and implementation in Java.      The DigestAlgorithm is precisely that, not the combined signature algorithm based on the digest and key type.      Introduce a function to map from digest and key type to the EVP_MD signing context.      Introduce a predefined EVP_MD to represent signing with SHA256+ECDSA (missing from OpenSSL, needed for <1.0.0)      When we can depend on OpenSSL 1.0.0 being present we can simplify some of the above changes.
  Refs #100675 For signing, select SHA1 when using DSA keys, otherwise use the default SHA256.
  Refs #100675 Introduce #define for default digest algorithm for signature generation.
  Refs #100675 Correct log package name in commented out debug code in case it becomes necessary to use it.
  Refs #100675 Add SigAlg to OID and OID to SigAlg for SHAXXXwithECDSA, and Cipher to OID for EC as alias for ECDSA
  Refs #100675 Remove unnecessary storing of message digest in struct ccn_sigc.  The message digest is held by the EVP_MD_CTX context.
  Refs #100675 Pass the private key to the signing context initialization ccn_sigc_init() as its type may need to be known at this time.
  Refs #100675 Pass the digest algorithm associated with a keystore when calling ccn_encode_ContentObject
  Refs #100675 Call OpenSSL_add_all_algorithms() during ccn_create() so that OID lookup, if necessary, will work in verification.
  Refs #100675 Pass the digest algorithm associated with a keystore when calling ccn_encode_ContentObject
  Refs #100675 Print a useful diagnostic when there are DigestAlgorithm decoding failures.
  Refs #100675 DSA and EC both require different message digest functions.  For now, pass the OIDs derived from the EVP_dss1() and EVP_ecdsa() structures.
  Refs #100675 Pass DigestAlgorithm associated with the signing key to ccn_encode_ContentObject().    Make -o output flag optional (rather than requiring, say, -o /dev/null).    Add '-k keystorefile' option (rather than only looking at HOME to locate .../.ccnx/.ccnx_keystore)
  Refs #100675 Pass the DigestAlgorithm associated with the default signing key to ccn_encode_ContentObject() from ccn_sign_content()
  Refs #100675 Decode the DigestAlgorithm OID if passed to either the signing or verification code to select the proper algorithm.
  Refs #100675 Add ccn_keystore_digest_algorithm() to determine the OID (as a UTF-8 string) of the digest algorithm associated with the signing (private) key in a keystore.
  Refs #100675 Add ccn_ref_tagged_string() for accessing strings (UDATA) in a ccnb encoded message.
refs #100675 Cleanup whitespace.
refs #100690 Merge remote-tracking branch 'origin/100690-decoding-performance'

* origin/100690-decoding-performance:
  refs #100690 Remove old merge junk I noticed in comments
  refs #100690 Fix bug in test
  refs #100690 Documentation cleanup
  refs #100690 documentation
  refs #100690 Fix test to not be so data dependent, add way to set resync limit
  refs #100690 Fix some problems in resync, improve resync test
  refs #100690 Add resync test, and now passes initial test
  refs #100690 remove WirePacket - no longer needed - fix resync
  refs #100690 Don't create a new BinaryXMLDecoder on every packet
  refs #100690 Use System.arraycopy for copies, lower level of log message
  refs #100690 Add CCNx boilerplate
  refs #100690 Use new decoder for all binary decoding
  refs#100690 Now passes the tests
  refs #100690 First try to get Marc's wire decoding optimization to work
refs #100707 Merge remote-tracking branch 'origin/100707-sync-library-interface'

* origin/100707-sync-library-interface:
  Refs #100707 Updated documentation in ccn/sync.h
  Refs #100707 Implement starting at current root hash.  Update ccnsyncwatch command to take -r \'\' for current.
  Refs #100707 Make ccns_slice and ccns_handle structures opaque.  Move from sync.h to ccn_sync.c.
Refs #100716 Fix a couple of compiler warnings.
refs #100716 Merge remote-tracking branch 'origin/100716-fix-ccn_sync-warnings'

* origin/100716-fix-ccn_sync-warnings:
  Refs #100716 Fix a couple of compiler warnings.
refs #100692 Bump version to 0.6.0rc1
refs #100692 bump api version to 6000
refs #100692 Merge remote-tracking branch 'origin/100692-prepare-for-060-release'

* origin/100692-prepare-for-060-release:
  refs #100692 bump api version to 6000
  refs #100692 Bump version to 0.6.0rc1