Feature/fix issue 244 scale

#### Summary:

Create the function matrix scale(matrix, vector) and matrix scale(matrix, row_vector) as requested in issue #244 

#### Intended Effect:

Add the function and also some small improvements to diag_pre_multiply and diag_post_multiply

#### How to Verify:

I added tests based on those of diag_pre_multiply and diag_post_multiply which were really good.

#### Side Effects:

None

#### Documentation:

Added close to diag_pre_multiply and diag_post_multiply which are similiar.

#### Reviewer Suggestions: