Added authentication basics for the protocol. This includes a crytographic
hashing front end which can gather any checksum for a file. This is imported
as a package into fileservice.py, which using os.path and hashob gathers
useful information about the file to transmit, including an md5 hash.


Signed-off-by: KentJames <jameschristopherkent@gmail.com>
Updated directory structure to incorporate future addition of logging.

Signed-off-by: KentJames <jameschristopherkent@gmail.com>
Completed a basic version of the file protocol. Much work needs to be done
on server side authentication and data integrity analysis, but for the time
being it "does the job" if not particularly nicely.

Server side implementation of the crytographic hashing is required, and
fileservice requires updating to give the actual hash type being used for
the benefit of the server and to erase a potential error state.

I also homogenised the buffer sizes being used to ensure some sort of
consistency, which is nominally located in the framesync.py package.




Signed-off-by: KentJames <jameschristopherkent@gmail.com>
Committing project as it stands currently: It works, just about, sorta.
It transmits a single file to a server, if you want to transmit multiple
files to the server it requires multiple instantiations of the client, which
should be fine really as it is intended to be called as a script from
another application.

The protocol still requires significant development, but it's at a point,
where it can be declared an alpha build.

-It currently requires:

-Implementation of Server side logging.
-Serious work on authentication, as the application layer has absolutely
zero authentication currently.
-Some extra work on file integrity logic and server side implementation
of crytographic hashing functions, and a bit of client side logic to complement.




Signed-off-by: KentJames <jameschristopherkent@gmail.com>