<p>What is the proper way to give printer settings to CuraEngine? Is it possible to put all these settings into a file (like Json formatted)?</p>

<pre><code>CuraEngine.exe -v -o "c:\3d\test.gcode" "c:\3d\test.stl"
</code></pre>

I'm not sure if it's possible, but on github is code for setting CuraEngine up. Maybe you'll find this link,
CuraEngine/src/settings/settings.cpp
helpful.
The latest release has more speed customization. You can change first layer speed, outer shell speed, inner shell speed, infill speed, and top and bottom speed.
You can cut objects, its just a little wonky. In the advanced tab there is a "cut off object at Z height" that you can use to cut objects in half.
Theoretically, you can put all settings into a JSON formatted file.