Created p2p distributed data store.

* Added support to FileSystemDevice to retrive the full path of an item.
* Fixed bugs in DataStore
  * get() raises an error when there's no available devices to get an item.
  * Delete temporary files.
* NetworkManager interface has been simplified.
* Modified NetworkIndex to support simplified NetworkManager interface.
* Created NetworkDevice and NetworkData store to support retrieving items from
 the peer network.