move Allocator to include, properly namespaced
move Slice out of object-writer, to be more general
move fixed allocator out of machine.h
use Slice<uint8_t> in FixedAllocator
use Slice in Vector
use size_t for Vector::minimumCapacity
add Slice::resize and Slice::alloc
fix arm/powerpc build
build arm and powerpc targets in the ci build
Merge pull request #180 from joshuawarner32/move-allocator

Move allocator & Slice into util
move Unsafe.get{Object|Int}Volatile from classpath-openjdk.cpp to builtin.cpp

This makes them available in all class libraries, not just the OpenJDK
library.  Note that I've also removed the unecessary idle statements,
per ab4adef.
Merge pull request #188 from dicej/volatile

move Unsafe.get{Object|Int}Volatile from classpath-openjdk.cpp to builti...
Adds the Deque interface, and allows LinkedList to implement that interface.

This also changes ConcurrentLinkedQueue to implement the Queue interface, and just throw exceptions for operations which are not currently implemented.
Interfaces and the foundation for a ReentrantLock implementation
Add parkBlocker variable to Thread.java
Fix for travis build failure for needing to initialize the new field in Thread.
match Java's schizophrenic concept of inner class access modifiers

An inner class has two sets of modifier flags: one is declared in the
usual place in the class file and the other is part of the
InnerClasses attribute.  Not only is that redundant, but they can
contradict, and the VM can't just pick one and roll with it.  Instead,
Class.getModifiers must return the InnerClasses version, whereas
reflection must check the top-level version.  So even if
Class.getModifiers says the class is protected, it might still be
public for the purpose of reflection depending on what the
InnerClasses attribute says.  Crazy?  Yes.
Merge pull request #192 from dicej/inner-class-modifiers

match Java's schizophrenic concept of inner class access modifiers
Merge pull request #189 from jentfoo/interface_improvements

interface improvements and LockSupport implementation
fix Class.getDeclaredMethods

getDeclaredMethods was returning methods which were inherited from
interfaces but not (re)declared in the class itself, due to the VM's
internal use of VMClass.methodTable differing from its role in
reflection.  For reflection, we must only include the declared
methods, not the inherited but un-redeclared ones.

Previously, we saved the original method table in
ClassAddendum.methodTable before creating a new one which contains
both declared and inherited methods.  That wasted space, so this patch
replaces ClassAddendum.methodTable with
ClassAddendum.declaredMethodCount, which specifies how many of the
methods in VMClass.methodTable were declared in that class.

Alternatively, we could ensure that undeclared methods always have
their VMMethod.class_ field set to the declaring class instead of the
inheriting class.  I tried this, but it led to subtle crashes in
interface method lookup.  The rest of the VM relies not only on
VMClass.methodTable containing all inherited interface methods but
also that those methods point to the inheriting class, not the
declaring class.  Changing those assumptions would be a much bigger
(and more dangerous in terms of regression potential) effort than I
care to take on right now.  The solution I chose is a bit ugly, but
it's safe.