Interim changes since NDN-CPP v0.2(2013-11-25)

Bug fixes
* http://redmine.named-data.net/issues/1056 Fix DTAG NDNProtocolDataUnit to encode as "NDN\202\000".
* http://redmine.named-data.net/issues/1064 Add ax_lib_sqlite3.m4, etc. to m4 directory so that autogen.sh works out of the box.
* http://redmine.named-data.net/issues/1077 Move the BasicIdentityStorage sqlite file to ~/.ndnx/ndnsec-identity.db .
  NOTE: If you have an old file at ~/.ndn-identity/identity.db, please move it to ~/.ndnx/ndnsec-identity.db .
* Fix bug in getForwardingEntryFlags: Need to check all flags, not the first flag using "else if".

Changes
* MetaInfo: Added setFinalBlockID for Name::Component, remove unused setFinalBlockID which take uint8_t*, etc.
* Fix clang compiler warnings: Include headers, parentheses and cast explicitly.
* Moved class ExcludeEntry to inner class Exclude::Entry.
* In BinaryXmlDecoder, cache the result of peekDTag for a speedup when decoding optional elements.

Documentation
* Move instructions for running ./autogen.sh from configure.ac to the Development section of INSTALL.
* http://redmine.named-data.net/issues/1072: In Doxyfile, fix EXCLUDE for ndnboost to new location include/ndnboost .

NDN-CPP v0.2 (2013-11-08)

This release fully supports the Common Client Libraries API.
http://named-data.net/codebase/platform/documentation/ndn-ccl-api/

Changes to future versions will be detailed in this CHANGELOG.

NDN-CPP v0.1 (2013-08-09)

This is the initial release, with support for expressInterest for one interest at a time.  A new release
coming soon will have a Pending Interest Table and support processing multiple simultaneous interest and
data packets.
