Yet another x64 bug fix

Currency type is internally an int64. Casting its binary representation in RAX to an an int64 and affecting it to a currency will result in a *10000 multiplication.
Merge pull request #79 from velter/patch-6

Yet another x64 bug fix
Proposal to prevent duplicate register

Add a new property to control the behavior. By default, the behavior is not changed. Setting AllowDuplicateRegsiter to false will raise an exception each time a class/interface/function register a name already known.
Allow forward declaration
Comobj support for FPC
Merge pull request #80 from pchev/master

Comobj support for FPC
Compiler bug in const arrays

There a compiler bug in array constants. A construct like

procedure B(eType : TObject);
begin
	if eType is TObject then ;
end;

function A(eVal : int32) : booleen;
begin
	result:=not(eVal in [1,2]);
end;         

begin
	A(1);
	A(2);
	A(3);
end;


Cause an AV in UpsCompiler line 6185. The root cause is the use of FindAndAddType with no name. The function return the last created anonymous type. In the previous sample it's a Type created by the "is" operator which is not an array. Casting it to TPSArrayType lead to the AV.
Update Duplicate definition change
Added static array support to GetArrayLength.
Added __history to gitignore
Minor tweak in compiler
Merge pull request #83 from FHannes/master

Some minor changes
Merge pull request #82 from velter/patch-8

Proposal to prevent duplicate definition
Merge pull request #81 from velter/patch-9

Compiler bug in const arrays
68543: Missing reference in  PascalScriptRO package
Merge branch 'master' of github.com:remobjects/pascalscript
Fixed warnings showing row/column number as zero in some cases