Move the iCountThreadsNum field to SWelsSvcCodingParam

There is no point in the user setting this field, it's only used
as an internal field within the encoder.
Remove a misleading cast

uiSliceSizeConstraint is not of the SliceMode type, but is a normal
int.
Make ParamValidationExt use the actual type instead of a void pointer
Move the slice mode enum to the public header

This simplifies setting the slice mode in the public API.
Use the slice mode enum in BaseEncoderTest
Merge the slice mode comments with the enum
Add separate install-static and install-shared targets

This allows installing only the static library or shared library
without the other.
Merge pull request #447 from mstorsjo/remove-misleading-cast

Remove a misleading cast
Merge pull request #449 from mstorsjo/avoid-opaque-pointer

Make ParamValidationExt use the actual type instead of a void pointer
Merge pull request #450 from mstorsjo/publish-slice-mode-enum

Move the slice mode enum to the public API
Merge pull request #451 from mstorsjo/install-static-only

Add separate install-static and install-shared targets
Merge pull request #446 from mstorsjo/remove-unnecessary-public-param

Move the iCountThreadsNum field to SWelsSvcCodingParam
Merge remote-tracking branch 'upstream/master' into travis.osx