1) Yes, distributed version of Memgraph partitions graph across the cluster of machines. Partitioning isn't a part of Memgraph community edition that can be downloaded at https://memgraph.com/download because it's still in private beta phase. If you are willing to give it a try let me know.
2) Memgraph started as a transactional DBMS. But, we are adding more and more analytical capabilities because a lot of people looking for analytics on top of transactional data. Doing graph analytics at scale is hard because every single algorithm requires a unique approach. Distributed implementation of BFS is an example. Implementation runs the query across the cluster in a parallel manner with syncs when needed.
3) Storage contains the edges within a specialized data structure. Memgraph doesn't have global adjacency index exposed yet, but it's possible to get the adjacency list by running regular openCypher query. Getting all neighbors of a node is very efficient because node lookup is fast and every node has a list of edges that store info about the neighbors.
4) Both nodes and edges store properties. We are continually working on performance and usability improvements.