Fixed Kronecker product of column vectors

Array comprehension returns a 2D array, so I added an explicit 
vectorization after the list comprehension and reordered the 
comprehension indices to get the proper result.
Multiple fixes to kron

Fixed issue 2637, and added support of Kronecker product between 
Vectors and Matrices.
Added tests for Kronecker product

Added simple tests for Kronecker product involving Matrices, 
Vectors and scalars.
Fixed bug in my implementation of Matrix/Vector Kronecker product
Simplified Vector/Vector kron and reverted Matrix/Matrix

Simplified Vector/Vector `kron` following 
@andreasnoackjensen's suggestion, and reverted the changes to 
Matrix/Matrix `kron` due efficiency of implementation, as pointed 
out by @JeffBezanson and @andreasnoackjensen.
Added support for Matrix/Vector & Vector/Matrix kron

Both falling back on the Matrix/Matrix case already implemented
size for SymTridiagonal returning incorrect value
add Diagonal AbstractMatrix
Fix 2663
some fixes to mapslices
Merge branch 'master' of github.com:JuliaLang/julia
Merge pull request #2646 from marcusps/kron-fix

RFC: A _working_ fix to Kronecker product
Added uint conversion to abstractarray.jl so things like uint([1]) work. This is consistent with other integer array conversion functions.
Added int128 and uint128 functions for AbstractArray types
fix #2667, dump on Exprs
also avoid dumping whole type hierarchy on dump() (only in xdump)
Merge branch 'master' of github.com:JuliaLang/julia
optimization: hoist array metadata access out of loops (sometimes)
this helps most matrix inner loop code, the laplace benchmark most of all.
Update macro syntax in the doc.
removed Vector * Diagonal and Vector / Diagonal, as not defined for Matrix
Slight tweaking of the macro syntax documentation.