When using the command rdrobust, developed by Matias Cattaneo, to estimate a fuzzy RD design, I am using a dummy variable for the treatment (YES or NO), and an index for eligibility, where observations (in this case schools) with an index greater or equal to 0.16 are eligible for the treatment, so my code looks like this

rdrobust score_2013 index_ice , c(.16) fuzzy(benef_dum1)

where score is the dependent variable, index_ice is the index that determines eligibility for the program and benef_dum1 is the dummy that tells us whether the school received the treatment or not.
I have some questions:

1. If I want to control for more exogenous variables how can I do so? At first I thought that I should simply add regressors after index_ice, but the only variable that moves benef_dum1 is index_ice (we can think of index_ice as the instrumental variable for benef_dum1) so if add more regressors, how would stata know which variable is the instrument for benef_dum1?
Or am I woring and I do not have to add more regressors? and if so, why?
2. If I am trying to demonstrate that the discontinuity is not caused by any other variable (lets say, that before the program there was no discontinuity in scores at the cutoff) should I include all the control variables that I have available in the regression or only regress scores previous to the program against the index?
3. My variable index_ice takes values from 0 to 1, is this ok? Because I was thinking that maybe I was worng and I had to create a dummy that determined whether the school was eligible or not according to the .16 cutoff, but if that is the case, then why is it necessary in this command to add the specification of the cutoff, namely, c(.16)?
4. Sometimes stata tells me that there are not enough observations, how does the command determine if the number of observations is enough? Is there any way to force stata to run it anyway?
5. For other variables stata tells me this:
rdrobust() not able to compute the loc. poly. bandwidth (h) above the threshold. Please run rdbwselect() for more information

What does that mean, and how can I solve this, because I read the help file for rdwselect(), but I do not know which option to pick
6. How can I do this using ivregress instead of rdrobust? Which one is better?

Thanks in advance for your help.