How to Manipulate data for multiple visits per person?
So, here you have a couple of questions:


Find total visits per customer by date


To do this bit, you have simply do a pandas Dataframe groupby, like so:

customer_id.groupby(['user_id', 'date']).size()



Resources for working with dates in pandas


https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html
This is official documentation from pandas, so should hopefully give you all the tools you need. 


Unfortunately cannot answer the question on feature tools, so I look forward to seeing answers on this. 
How to model the next customer visit date given their previous visits.


One way to do this would be that if customer visit frequently, then one idea would be to model this data with a Recurrent Neural Network (RNN) or LSTM (A video on the principles behind RNNs: https://www.youtube.com/watch?v=UNmqTiOnRfg), where it takes the sequence of inputs (dates when particular customer has visited) and return an output date after observing the sequence. 
Before this though, might be useful to do customer segmentation and treat observe visiting patterns over customer groups than as individuals. One way to do this any clustering algorithm like agglomerative clustering.