Salvus: Distributed Scalable Online Mathematical Software (part 1 of 2)