Changing the default object origin from center to corner? Newly added objects are always added from their centers by default. I'd instead like to add them from their top-left bottom corners.

Below is an example:
   

I don't want to adjust the origin afterwards, but from the outset when I add a new object, they should be added, scaled or rotated from the top-left bottom corner position.

So, for example, if I wanted to add another object on top of this cube (e.g. cylinder), all I should need to do is to move the 3d cursor to the top-left top corner of the cube and then add object without needing to translate it along the x/y axis for alignment with the cube below.

At the moment however, whenever I add a new object it gets added from its center, as shown below:


Is there any way of changing this?
As far as I know there is no built in way of doing this natively, at least not without some python coding or script/addon involved.

There is one addon for aligning objects that has an additional feature that allows you to align object centers directly from object mode though.

It doesn't do it automatically but maybe it can save you a few steps http://blenderartists.org/forum/showthread.php?256114-Add-on-Advanced-align-tools