Add custom JSONEncoder for shared lists

Use the custom encoder together with json.dumps() to serialize the
data sent by the shared files publisher.
Deserialize JSON data to list in subscriber
Add support to add files to FileList
Add support for deleting files from FileList
Add remove button to shared files UI

Clicking on the remove button will remove one selected file from the
list of shared files and instantly publish the new list on the
network.
Add path attribute to FileItem
Support encoding FileItem to JSON
Change items in FileList from strings to FileItems