Constraint-Aware Neural Networks for Riemann Problems