added addto_dirichlet_boundary() and two additional set_initial_value() fucntions
added addto_dirichlet_boundary() and two additional set_initial_value() fucntions

@addto_dirichlet_boundary(): adds a value to an already assigned value
identified via the quantity -> if the cell hasn't been already tagged
as dirichlet, an assignemnt is performed rather than an addition

@set_initial_value(quan, seg, !source!): this allows for a quantity transfer
via another quantity

@set_initial_value(quan, seg, !functor!): this enables to set the initial
value via a unary_functor, requiring the cell object and returns a value.
--> is used in ViennaMini to compute the cell-based builtin_potential based on the
acceptor and donator quantities --> will be important if we don't have
an academical step-wise doping

viennafvm/viennafvm-dev,viennafvm/viennafvm-dev