Issue title: Provide support for @addNLConstraints
 Issue body: Currently we can add groups of (affine) constraints through the `@addConstraints` macro, e.g.

``` julia
@addConstraints m begin
  x >= 1
  y - w <= 2
  sum_to_one[i=1:3], z[i] + y == 1
end
```

It will be great to extend it to nonlinear constraints, by introducing a `@addNLConstraints` macro. This will be useful for problem instances such as the [MINLP example in KNITRO](https://github.com/JuliaOpt/KNITRO.jl/blob/minlp/examples/jump_minlp.jl).

 Comments: 
 Comment 0: This would be nice to have. `@addConstraints` works as a simple wrapper around `@addConstraint`, and I'm guessing `@addNLConstraints` could be implemented with pretty much the exact same strategy (and code).

 Comment 1: Yeah, should be a copy-paste job.

{'source': 'GithubIssues', 'repo_name_with_owner': 'jump-dev/JuMP.jl', 'issue_id': 52359210, 'repo_stars': 1824.0}