bs_array: add explicit bs_npvec_impl instantiations for bs_npvec_shared

Seems that thsi is needed to overcome VS2010 compiler bugs. Why
ns_npvec_impl never gets instantiated? Why I need to explicitly
instantiate bs_npvec_impl and bs_npvec_shared instantiations doesn't work?
Why the same trick leads to strange compiler errors (base class cannot be
initialized in ctor) when applied to bs_npvec< T >? No answers.
comon: introduce macro for instantiating templated BS types fully defined in header

BLUE_SKY_TYPE_IMPL_T_MEM = BLUE_SKY_TYPE_IMPL_T_MEM + explicit template
instantiation, which is needed to properly export symbols, imported in
another dll when building with Visual Studio. Otherwise, undefined
sybols errors are generated.