NonlinearProgram already has the logic to set default solver as fmincon when SNOPT is not installed. Also set 'snopt' and 'fmincon' method as protected in NonlinearProgram to expose less details to the user.