Munge block upgrade

Previously every component that the input was broken into had to
be used, now using a subset is possible.
mdl2m script

mdl2m allows the generation of a script that will create and populate a subsystem
to replicate the one provided. It currently iterates through all component blocks
and creates functions that will generate them in an empty system.

The intention is to add functionality to mdl2m.m so that it can be run against
an arbitrary subsystem, allowing scripts to be generated for all library
blocks or application systems and make it easier to work with these in
revision control systems i.e store the script instead of the binary-like
mdl or slx file.

xBlocks has a similar function but this only allows Xilinx systems to
be generated, if hdl coder or other third party tools are used we will need
to have a vendor agnostic tool to do this.

TODO: generate built-in blocks
TODO: Xilinx blocks
TODO: add lines between blocks
TODO: intelligent sort algorithm
Bus section added to casper_library

Contains blocks that operate on busses consisting of multiple
parallel data streams. Useful when the same operation must be performed on
an arbitrary number of streams (e.g FIR) with shared control logic.

The Bus library is generated with a script (casper_library_bus_init.m) when
casper_library is loaded. casper_library_init  was generated using the mdl2m
function and any changes to the library, when saved, cause mdl2m to regenerate
this script which can be committed to a revision control system. This should
ensure that changes to the Bus library are easy to see (diff the new script
against the old) and should make merge conflicts easier to resolve.
BackGroundColor parameter included

mdl2m checks color too as block color is significant
bus blocks background colour green
bus_scale and bus_logical added to Bus

bus_logical - applies Xilinx logical block to busses
bus_scale   - applies Xilinx Scale block to busses
Merge branch 'master' of github.com:ska-sa/mlib_devel
Position fixes for bus_logical

small script fixes influencing position of blocks
bus_convert mask parameter fix
overflow option added to bus_convert

optional overflow port indicates values out of target range.
core changed to only support signed values as lower level convert
block only supports this type.
An attempt to fix the dec_fir problem in an easy way. We could do better, but this solution is relatively clean and solves our problem for now. Committing the same thing once again... formatting issue. For easy cherry-pick.
(cherry picked from commit 43d76348362b39cc9656c3e5b6376fae88d3bf2b)
removal of type parameters from bus_convert

lower level convert block only does signed values