Development of Attitude Determination and Control and Thrust Modulation Algorithms for Formation Flying of the SNIPE Nano-Satellite