Add ability to create Name and ContentObject from raw bytes in Python

For example, when content object is prepared in advance, it should be
possible to create "parsed" ContentObject python object from raw bytes.

bytes() is necessary on Linux, so it provides "buffer" interface for the
data in the variable

Change-Id: I54dabcde0bfca40f6e7ba3e81403a4ab6634c08b
Enable functionality to connect/disconnect CCN handle

Change-Id: Ib8c49b577147517764f45c8c04fba49598e9beef
Various improvements, including ability to disable (defer) DATA verification, clear interest filter, and simple forms of expressInterest and setInterestFilter calls

Change-Id: Iae2122bb45b660d434ddb5022e46d6f7d5464f68
Make sure that even loop does not break when system interrupt is received

Loop will still break if anything else happens with select.select call
(e.g., when handle becomes invalid)

Change-Id: I1f59eb8858b5b8f9ee7e0da7002910c46f3f2de6
Potential bug: initializing previously uninitialized variable (clang was complaining)

Change-Id: Id00eeaed5047f07e844a063babc958828486409f
Significant change with key management: in most cases there is no need
(and it is actually incompatible with openssl command line tools) to
work with RSA keys directly.  Instead, most of the calls converted to
use EVP_PKEY* (aka struct ccn_pkey*) directly.

Change-Id: If05dfbd66e36d624a756a28c8a59a58c203875fe
Adding two helper static methods to simplify creation of Key objects

Change-Id: I0b121548da875983eb3a966b59feec2347721a7e
Implementing ability to save private key in PEM format in encrypted form

Change-Id: I60f368ae909e4e49b40a500bad19bd4cdfd1bcc2
Wrong timeout: should be 1 second, not 1000 seconds

Change-Id: I4bbdfca26ac08b99a029b14db582358f524ad67e
Adding helper to CCN.EvenLoop to "execute" commands in CCN thread and helper to append Name objects to the name

Change-Id: I05cd33cfdce9951be321de091d19e9713cc2a8b8
Adding LocalPrefixDiscovery helper class using new CCN.expressInterestForLatest helper method

Change-Id: I0e10a36d6982d1dff0a24456ca47bb224eccfc78
Library re-branding to PyNDN and code refactoring

Code refactoring:
- pyccn.CCN is now known as ndn.Face, being essentially a handler (face) to the NDN daemon
- _pyccn.so renamed to _ndn
- pyccn_ prefix in csrc/* replaced to ndn_ prefix

Change-Id: I4292b09c95011d37b3ee60f187ffe2d0db0dc190
Converting build system to waf

NDNx and SSL locations can be controlled using --ndnx and --openssl
command-line arguments to ./waf configure

Change-Id: I79a9d7a43235b5d57234325fa8d12f6148c20de2
Conversion of test scripts to unittest + nose

Tests can be run by ./waf test can be run (after ./waf install)

Also, one can also run `nosetests' command directly, assuming pyccn is
installed in a standard location or PYTHONPATH environment variable is
correct set up

Change-Id: Ib5a7337baa9c8524268a4483d637df292396dbc9
New method KeyLocator.getDefaultKeyLocator () that relies on new API available in NDN fork of CCNx

Also, Key.getDefaultKey() method that is the same as Face.getDefaultKey()

Change-Id: I1b990343c8b96bd5c2dcdd9df8fbc9a0d43213ad
Updating documentation files to reflect latest changes (rebranding and updated API)

Change-Id: I838a13a8c456c6f7cb4cb1be8c2dcc649e129e60