fix up semantics for binary variables

This makes GLPK pass the new JuMP tests for binary semantics: JuliaOpt/JuMP.jl#249. Specifically, when a variable is binary and then its bounds are changed, the variable is restricted to the intersection of the new bounds with {0,1}.