Allow -k to take a variable number of arguments

Add a callback function so that -k can take a variable number of arguments.  Fixes #5228.  This would be much simpler if we could use argparse but it's not part of the standard library in 2.6.

Example:

```bash
$ bin/test *arit* -k dup mul -v
============================= test process starts ==============================
executable:         /home/ptb/miniconda3/bin/python  (3.4.1-final-0) [CPython]
architecture:       64-bit
cache:              yes
ground types:       python 
random seed:        18540787
hash randomization: on (PYTHONHASHSEED=1532168274)

sympy/core/tests/test_arit.py[8] 
test_real_mul ok
test_ncmul ok
test_Add_as_coeff_mul ok
test_Pow_as_coeff_mul_doesnt_expand ok
test_mul_flatten_oo ok
test_denest_add_mul ok
test_mul_coeff ok
test_mul_zero_detection ok                                                  [OK]

sympy/matrices/tests/test_densearith.py[2] 
test_mulmatmat ok
test_mulmatscaler ok                                                        [OK]

sympy/polys/tests/test_densearith.py[29] 
test_dup_add_term ok
test_dup_sub_term ok
test_dup_mul_term ok
test_dmp_mul_term ok
test_dup_add_ground ok
test_dup_sub_ground ok
test_dup_mul_ground ok
test_dmp_mul_ground ok
test_dup_quo_ground ok
test_dup_exquo_ground ok
test_dup_lshift ok
test_dup_rshift ok
test_dup_abs ok
test_dup_neg ok
test_dup_add ok
test_dup_sub ok
test_dup_add_mul ok
test_dup_sub_mul ok
test_dup_mul ok
test_dmp_mul ok
test_dup_sqr ok
test_dup_pow ok
test_dup_pdiv ok
test_dup_rr_div ok
test_dup_ff_div ok
test_dup_div ok
test_dup_max_norm ok
test_dup_l1_norm ok
test_dup_expand ok                                                          [OK]


================== tests finished: 39 passed, in 0.58 seconds ==================
```