[WIP] geometric programming interface

When I ran the example, it seems like the nonlinear expressions are not being added to the model:
```julia
julia> sch = scbegin(task, opro, oprjo, oprfo, oprgo, oprho, oprc,
                     opric, oprjc, oprfc, oprgc, oprhc)
1-element Array{Ptr{None},1}:
 Ptr{Void} @0x00007faeafcd1e20

julia> optimize(task)
Computer
  Platform               : MACOSX/64-X86
  Cores                  : 4

Problem
  Name                   :
  Objective sense        : min
  Type                   : LO (linear optimization problem)
  Constraints            : 5
  Cones                  : 0
  Scalar variables       : 6
  Matrix variables       : 0
  Integer variables      : 0

Optimizer started.
Interior-point optimizer started.
Presolve started.
Linear dependency checker started.
Linear dependency checker terminated.
Eliminator - tries                  : 0                 time                   : 0.00
Eliminator - elim's                 : 0
Lin. dep.  - tries                  : 1                 time                   : 0.00
Lin. dep.  - number                 : 0
Presolve terminated. Time: 0.00
Interior-point optimizer terminated. Time: 0.00.

Optimizer terminated. Time: 0.01
0

julia> scend(task, sch)
julia(30782,0x7fff7417f300) malloc: *** error for object 0x10155fa68: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug

signal (6): Abort trap: 6
__pthread_kill at /usr/lib/system/libsystem_kernel.dylib (unknown line)
Abort trap: 6
```

Is the right approach an implementation of the code in the example, based on the header file in https://github.com/JuliaOpt/Mosek.jl/issues/28#issuecomment-65550085?
@joehuchette @ulfworsoe