make instruments() method of Server accept list of currencies

Previously, the instruments() method of Server objects required a string
of comma separated currencies to be passed in. This change changes the
parameter to be an actual Python list of object.
MERGE W/ c82ada3391a4c216e66d5c5934c1aa6867a7c8ef
MERGE W/ 9a626ca5
make Currency query the actual value of a pip

Until now Price objects always assumed a pip to be 0.001. Since we
display prices with a precision of 1/10th of a pip, we always displayed
four post-decimal positions.
With this change the actual value of a pip gets queried from the server
and used as expected. Examples for the different pip values include:

name            instrument pip
Gold/JPY        XAU_JPY    10
US SPX 500      SPX500_USD 0.1
UK 10Y Gilt     UK10YB_GBP 0.01
Copper          XCU_USD    0.0001

These values suggest that in some cases we will now get full precision
whereas in others we omit insignificant decimal positions that just
distract from the actual values.
MERGE W/ c96a2086
first step towards profit/loss calculation
continue work
print more details for TRAILING_STOP_FILLED event
TEMPORARY: print out full event information